Monday, January 27, 2020

Service Oriented Architecture (SOA) Design

Service Oriented Architecture (SOA) Design Introduction Objective The goal of a Service Oriented Architecture (SOA) is to achieve reusable assets in an agile manner that is aligned with the business needs of the organization. The SOA Reference Architecture provides guidelines for making architectural and implementation decisions. To that end it serves as a blueprint for creating or evaluating a solution architecture for different groups within the organization. In addition it provides insight and patterns for integrating the different elements of an SOA as illustrated by the different layers of an SOA. An SOA Reference Architecture is designed to answer some of the key questions and issues encountered while developing a solution such as: What are the aspects of an SOA as expressed in terms of layers that need to be considered when designing solutions based on SOA principles? What are the building blocks needed to include in each layer of a solution? What are some of the key architectural decisions that need to be made when designing a a solution that is based on SOA? Which roles in a project would benefit from using these principles and guidelines? To answer these questions this document provides the following: Establishes a common vocabulary and set of definitions for services and SOA. Identifies the different functions of an SOA implementation and define their interactions with each other and with functions outside the scope of the Rufus platform. Provides SOA guiding principles. Defines consistent design and implementation across services. Shows when and where to use SOA technologies. Supports SOA governance. Provides an architectural based design methodology. Overview This document presents the layers, building blocks, architectural and design decisions, patterns, options and the separation of concerns needed to design or evaluate an SOA architecture. The architecture consists of multiple components which are divided into the following categories: Quality of Service (QoS) Security Consumer Business Process Integration Services Information Infrastructure Governance Monitoring Management Center of Excellence (COE) Design Time Elements Component View Design Time Elements Design-Time Activities are the technical activities, guidelines, and deliverables that allow for everyday development within the SOA and Integration Architecture. Including: Service Modeling and Design Canonical Data Modeling Policy Specification Service Assembly Service Testing Service Identification Service Lifecycle Management Service Modeling and Design Services must be modeled and designed to support an extensible plug-and-play model by being: Reusable So that other Services leverage an existing Service. Composable So that a Service can leverage other Services. Interoperable So that Services can work with each other. Discoverable To support location independence. To enable the above qualities, each Service (except for Data and Utility Services) needs to have: A well-defined Service Contract To enable loose couple by hiding low-level implementation details from Service Consumers. SOAP-based Web Services achieve this by specifying a WSDL interface with XML-based document exchange. RESTful Web Services define a contract with HTTP input parameters and JSON/XML-based responses. Coarse-grained So that operations have enough data to carry out all tasks in a stateless manner. Stateless operations Statelessness (i.e., not maintaining state between invocations) enables a Service to be reused in many contexts. A way to handle Exceptions to notify its caller if there are problems carrying out an operation. To ensure that each type of Shared Service is designed and implemented in a uniform manner, a SOA Governance team should create SOA Best Practices documents for: Service Design, Web Service Design, and XML Message Design in Designers Guides (i.e., working agreements). Topics would include: Service Specification and Design Interface (including Canonical Data model for messages see section 3.5.2) Policies (see section 3.5.3) SLAs (Service Level Agreements) A description of what the Service does A description of the Services operations. Best practices for each type of Shared Service (Business, Common, Data, Integration, and Utility). Examples showing the difference between Service-Oriented Design and Object Oriented Design. How to develop a SOAP Web Service (and handle Exceptions). How to develop a RESTful Web Service (and handle Exceptions). Canonical Data Modeling (XML) Many organizations have several autonomous packaged and custom developments that have evolved independently of one another. Many times, each system has become a system with its own implementation methodology, culture, processes, business rules, and vocabulary. Many companies face the problem of using the business data to enable applications to communicate in a distributed systems environment. Organizations design Canonical Data Models (CDM) to help analyze the message exchange within the organization and with their trading partners. Data is embedded in the basic architecture of any organization. To develop the CDM, an organization must inventory business concepts and map the vocabulary into fundamental business concepts. The CDM provides a framework for integrating the disparate terms for each line of business. The CDM is a catalog of neutral terms defined in an XML Schema, including: Entities in the business domain (e.g., Order, Customer, etc.) Agreed-upon data structures so that a domain element has a single, common definition. Formatting rules. A CDM defines an organizations data in motion the XML messages exchanged between: Services within an enterprise. An enterprise and its external trading partners. Many industries have an industry standard (e.g., ACORD, for Insurance, or EDRM for e-Discovery) to define core concepts and define data exchanged between companies. A Canonical Data Model provides the following benefits: An enterprise can easily exchange data with its business partners. An enterprise can adopt a single approach to exchanging data across all services the enterprise. The canonical model helps define the interface for each Service (thus hiding the structure of the physical data in the database). Changes to the canonical data model are required only when an entirely new business concept arises. Policy Specification Policies provide service-level meta-data to Web Services consumers. Specifying these policies is an important step in Web Service design, and this is accomplished by attaching policy expressions to the WSDL. Specifically, these policies include: Security: Transport Protocol Algorithm (RSA, etc.). Messages Authentication/Authorization Level of Service (e.g., Silver, Gold, Platinum, etc.). For example, a Platinum customers requests execute on best-provisioned server for better performance (but also at a higher price). Performance For example, send notifications if performance for a particular service dips below the promised SLA. Auditing For example, begin auditing when a particular service consumer invokes an operation on a Service. Service Assembly A Business Analyst first develops a Business Process Diagram (using BPMN Business Process Modeling Notation) to model a business process at a business/requirements level. Then, designers and developers create a runtime model in either BPEL (Business Process Execution Language) or JBI (Java Business Integration) to: Assemble existing Shared Services into a Business Process Enable a BPMS product and/or ESB can run the business process. Designers use MEPs (Message-Exchange Patterns) to model the runtime characteristics of a business process. Typical MEPs include: Pipes and Filters Content-based Router Recipient List Wire Tap Dynamic Router These patterns are gaining in popularity and many of the newer ESB and BPMS products support executable MEP models. Please see the following for further information: Enterprise Integration Patterns Home Page Enterprise Integration Patterns, Gregor Hohpe, Bobby Woolf, et al. Service Testing Most Shared Services will be implemented as Web Services, and it is important to take a Test-Driven Development (TDD) approach to Web Services development because: Designers and developers need early feedback on the design, functionality, usability, and performance of each Web Service. QA personnel need to be able to test Web Services. Overall quality is very important because each Web Service could be used by multiple consumers. Service Testing includes: Inspecting Web Services: Documentation Generating HTML documentation from the Web Service interface. Debugging Show SOAP/HTTP requests that are sent received over the wire. Invoking Web Services: Generating Web Services requests from WSDL to set the Web Service. Simulating/Mocking Web Services Generating Unit Tests based on the Web Service interface. Functional/Performance Testing Web Services Simulating load conditions. Reporting on performance under load conditions. Commercial products include: Eviware soapUI Pro iTKO LISA Open Source products include: Eviware soapUI Community Edition WebInject PushToTest TestMaker Points to Ponder (for Evaluation) Does the product support both SOAP and RESTful Web Services? How? Does the product enable you to view SOAP/HTTP messages over the wire? Does the product have a good/usable Web UI to make it easy to test? Can a QA/Tester use the product without developer intervention? What level of SOAP, WSDL, and HTTP does the product support? Does the product support an Agile/TDD approach with Unit Tests and Mocking? Does the product generate Unit Tests to support Continuous Integration? Can the product simulate load conditions and report on performance/scalability? How much setup is involved? How does the licensing work? Service Identification Service Identification is one of the key steps in designing a Service-Oriented solution because it defines and identifies high-level Business Services by using the following the following approaches: Top Down: Analyze and model business processes. Design new Services that enable the tasks and activities in the business processes. Bottom Up: Service-enable existing and applications systems. Create business processes from the Services. Middle Out: Analyze and model business processes. Catalog existing applications and services. Determine which can be Service-enabled. Create Service Adapters. Map tasks and activities from the business processes to existing Services. Create new Services to fill in the gaps. A Middle-out approach is recommend because it takes the best parts of the other approaches: The bottom-up approach creates isolated silos that dont align with the business. The top-down approach takes a long time, and the enterprise cant wait for every business process to be defined in order to begin designing and developing Services. A compromise approach takes into account the need for timeliness, but also instills enough discipline to design Business Services that match up with the goals and objectives from the Business Architecture by: Taking a first cut at the Business Services from Marketing materials and meetings with the CMO and other business stakeholders. Starting with only a few Business Processes. Driving toward a thin/vertical slice of functionality based on the business processes. Service Lifecycle Management Service implementations are software like any other software module or application. As such, they go through a similar lifecycle. The service lifecycle is depicted in the following diagram. The lifecycle starts with Service Identification. Services are part of more general business processes. As such, new services are usually identified by the design of a new business process. This is not the only way that new services are identified however. Sometimes services are identified as part of portfolio management. This involves analyzing the requirements for a service across the breadth of the enterprise. The level of analysis required for this type of identification is difficult to gauge and therefore CIBER does not recommend using portfolio management for service discovery at this time. Once a service has been identified, it follows an iterative development process. Iterative processes use the feedback from subsequent phases to make corrections in previous phases based on lesson learned or issues that may crop up. Services are part of a greater distributed system however and any changes made can have an impact on other development efforts. Therefore it is important to be mindful of the effect change can have even during development of a service. The Service Specification and Design phase produces at a minimum the specification for the service interface. This interface specification includes the semantics and data that the service supports. This represents the contract between the service and its consumers. Diligence should be applied to the design of this interface as changes to the interface have the greatest impact to subsequent phases. Changes to the service interface can impact both clients that may be developed in parallel, implementation of the service, as well as test plans that have been implemented to test the service. This does not mean that a service interface must never be changed once it is designed. Designs are not perfect and in todays IT environment it is not always possible to take the time required to produce an interface definition that is ideal. Therefore it is prudent to put processes in place that take into account that service interfaces may change. Whenever implementing a service take into account tha t the interface may change to the extent possible to minimize the impact of that change. This also applies to the implementers of consumers of the service. In some cases, consumers may want to wait until the service has been through some number of rounds of testing before starting their implementation. This allows for some experience to be developed with using the service thereby (hopefully) minimizing the possibility of change to the interface. Once the service has been designed it proceeds to the Service Implementation phase. In this phase the service will be developed based upon architectural standards developed by the university OIT group. Any issues encountered trying to implement the design of the service should be fed back to the designer in order to refine the design if necessary. Finally, service need to be tested before being deployed into production use. Testing of services involves four primary areas of focus: Security testing is essential to assess the risk of a service with regard to vulnerability, data privacy and data integrity. Tests need to be developed to test boundary conditions which can assess the robustness of the service handling inputs outside the range of anticipated values. Tests should also be created that ensure the service performs as expected based on the roles as defined within the system. Type of Testing Description Functional This area of testing focuses on ensuring the service performs its function according to the requirement of the business process it support. Automated test suites should be developed to perform regression testing to quickly verify functionality during the life cycle changes that may occur. Performance This area of testing focuses on performance characteristics of the service including measurement of time to perform the service and load testing of the service. The output from this type of testing forms the basis of understanding how to configure and deploy the service in a production environment. Interoperability This area of testing ensures the service adheres to its service specification. Early identification of interoperability issues is key to integration of the service through exposure to university partners and clients. This type of testing is especially important when the service interacts with multiple data sources and/or systems. Security Security testing is essential to assess the risk of a service with regard to vulnerability, data privacy and data integrity. Tests need to be developed to test boundary conditions which can assess the robustness of the service handling inputs outside the range of anticipated values. Tests should also be created that ensure the service performs as expected based on the roles as defined within the system. Regression One of the more important types of testing related to usage of services is regression testing. The more applications that depend on a given service, the more impact a change to that service can have on the environment. As such, when changes are made to services, regression testing must be undertaken to ensure that the service not only supports new or updated functions but all other functions upon which the service relies. Table 1 Service Testing Types Once the service is ready it is deployed into production use. At this point the service enters the maintenance cycle as opposed to the development cycle. Services in production sometimes require change. The change may be due to a defect in the system or a request to add more functionality to the service. It is important to understand how this change should be handled based on its nature. Defects that are a result of a fault in the underlying implementation of the service and do not change the behavior of the service may be handled by a Defect Remediation process. In this case it is desirable to apply a fix as quickly as possible to the existing service as it may be affecting multiple university processes and causing a disruption to the universities ability to perform its function. Changes that modify the behavior of an existing service or its interface are best handled by identifying a new service or a separate version of the service. In this scenario versions are really new services that are separate from the original. Taking this route minimizes impact on consumers using the original service but can cause a proliferation of services within the enterprise. This may not always be desirable however and some effort should be put into defining conditions under which an existing service in production may be modified (for instance, only one business consumer is affected and the change is well understood). This should be documented so that everyone understands the conditions and ensure that changes are handled in a consistent manner. Service Withdrawal is the final step of the lifecycle. Eventually services will start ballooning (especially when changing production services leads to the creation of new services) and some services will stop being used. Removing service can be problematic as a service may support multiple business process owned by different colleges and departments. A procedure needs to be adopted to define and orderly withdrawal of services from the system. Such a procedure may start with deprecating the service (with a note explaining why and some suggestion as to another service to replace it). Secondly, services can be monitored for use and the consumers identified. Finally, if the service is still being used the consumers should be contacted to discuss a solution. This should result in establishing a schedule for the consumers to switch over to another service so that the service may be withdrawn. Consumers of a deprecated service may not have incentive to change. Making changes requires effort and possibly some risk to the consumer. This needs to be recognized when seeking collaboration from consumers to switch over to another service. In this case it will be necessary to be creative in coming up with a common understanding of the benefit of switching to a newer service so the deprecated one may be withdrawn. Center of Excellence (COE) An online community to: Impart the SOA Vision. Educate IT and business staff on SOA. Communicate SOA best practices. Gain feedback on how to adapt the SOA Governance process and overall SOA program. Provide support advice for new and ongoing SOA implementations. Provide SOA Resources: Books Web Sites Industry Standards Quality of Service Logging Most applications and systems use some form of logging that stores messages to a persistent medium (DBMS, file, etc.). Logging provides the following benefits: Troubleshooting Applications log errors upon failure, and system personnel use this information to repair the problem. Reviewing System personnel examine log messages to check for problems. Auditing Security personnel can review log messages to see what actions a user performed in the system. Debugging Developers generate log messages to debug their programs. Identity Management Identity Management is the ability to identify a requestors (person or system) true identity and relationships between people and organizations (groups). The current policies and level of enforcement are expected to continue into Managed Services by using Microsofts Active Directory as the source for identity management. Confidentiality Confidentiality assures that during transport of the data it was never visible, accessible or viewed other than by authorized recipients. There currently is no Smart Energy or Smart Grid requirement to secure messages for Confidentiality. Authentication Authentication is also done within Microsofts Active Directory and adds authorization policies to the verified identity. Authorization Authorization is currently done at the application level. Within Managed Services (stage MS3) authorization will be performed to determine whether the requestor (person, application, service) is authorized to access the requested service, data and even the Managed Data Repository. Integrity / Non-repudiation Integrity requires that during transport and even as read by the sender there were no unauthorized modifications of the content of the message. Non-repudiation assures the sending service that the receiving service has received the intended message. Current Smart Energy and Smart Grid projected needs do not require message Integrity, but for sensitive messages (time, confidentiality, event, or priority) there is Non-repudiation. Consumers Service Consumers are the end consumer/user of the services provided by an enterprise. The consumer has the flexibility to process and display useful and relevant information provided by Services. Service Consumers access Services through a consistent interface (or contract) exposed by that Service. Service Consumers can be: User Interfaces B2B Applications Business Processes User Interaction Users can access enterprise services through variety of mechanisms, including Portals, web sites, or PDAs. A web site provides a web-based interface to enable users to perform daily, job-related tasks. A web site leverage the services created provided the organization, as a part of SOA implementation, and do not contain any business logic themselves. The site seamlessly integrates with back-end services (using SOAP/WSDL, REST/JSON) and business processes. The site can be secured by global security policies, but also can include role based authentication that limits access to only relevant information making it easier to manage. A Portal is a web site that enables users to access highly personalized information and services. It can increase the productivity and effectiveness of employees within an organization through a consolidated view of available services and information. Typically the site is highly interactive, allowing the user to run a wide variety of tools and functions such as, global search queries, and custom dashboard and advanced business intelligence tools. Portals provide a unified entry point to the organization and provide common look and feel all across applications. Portals form the front end for business processes and custom applications created as composite applications. The site can also be utilized to mash-up other applications or services from 3rd party sites. Wikis, Blogs, RSS feeds, and content can all be made available within the site. A PDA enables mobile users to access enterprise services. Like sites and portals, a PDA has no business logic of its own, but it allows the end user to interact with back-end services by seamlessly accessing the Web Services exposed by an enterprise. However, a PDAs interface and functionality is much more limited than that of a web site because of display and memory constraints. B2B Applications An organization normally collaborates with external business partners such as suppliers and customers to achieve its business objectives. An external partners B2B application (e.g., a web site or portal) will invoke a Web Service exposed by an enterprise, which in turn executes business functionality on behalf of the client. Business Processes A Business Process codifies and streamlines the rules, practices, and business s activities in an enterprise. Business analysts create Business Process Diagrams using the industry-standard Business Process Modeling Notation (BPMN) to document a set of coordinated tasks and activities that lead to an organizational goal. You can think of a business process as a graphical representation of a Use Case (RUP) or User Epic (Agile / Scrum) in that it shows normal and alternate flows along with exceptions encountered during processing. In SOA, a business process coordinates the business services (see section 3.2.1) developed by an enterprise. SOA architects and developers derive business services from the tasks and decision points in a business process diagram. Business logic is used to form business flows as parallel tasks or sequential tasks based on business rules, policies, and other business requirements. Examples of Business Processes include: Purchasing a product Time Entry / Approval Billing Service Provisioning For information on tools and products, please the Workflow / Orchestration section (3.4.5). Collaboration Services Presentation Services Presentation Services define a common set of services to manage interaction with users or trading partners (to the extent this second interaction is needed). Presentation services are provided by: web servers, portal servers, and application servers that provide the capability to quickly create the front end of business processes and composite applications to respond to changes in user needs through channels, portals, rich clients, and other mechanisms. Presentation services integrate with other foundational services, such as security (e.g., single sign-on). Users can access enterprise services through variety of mechanisms, including Portals, web sites, or PDAs. A web site provides a web-based interface to enable users to perform daily, job-related tasks. A web site leverage the services created provided the organization, as a part of SOA implementation, and do not contain any business logic themselves. The site seamlessly integrates with back-end services (using SOAP/WSDL, REST/JSON) and business processes. The site can be secured by global security policies, but also can include role based authentication that limits access to only relevant information making it easier to manage. A Portal is a web site that enables users to access highly personalized information and services. It can increase the productivity and effectiveness of employees within an organization through a consolidated view of available services and information. Typically the site is highly interactive, allowing the user to run a wide variety of tools and functions such as, global search queries, and custom dashboard and advanced business intelligence tools. Portals provide a unified entry point to the organization and provide common look and feel all across applications. Portals form the front end for business processes and custom applications created as composite applications. The site can also be utilized to mash-up other applications or services from 3rd party sites. Wikis, Blogs, RSS feeds, and content can all be made available within the site. A PDA enables mobile users to access enterprise services. Like sites and portals, a PDA has no business logic of its own, but it allows the end user to interact with back-end services by seamlessly accessing the Web Services exposed by an enterprise. However, a PDAs interface and functionality is much more limited than that of a web site because of display and memory constraints. BI / Reporting BI (Business Intelligence) / Reporting provides a high-level view of KPIs (Key Performance Indicators) to business stakeholders to enable them to make decisions and manage the business. Examples of KPIs include: Efficiency of business processes. Job Costing. New customers acquired. Sales information by demographic (age, ethnicity, geographic region, etc.). Churn / turnover of accounts by demographic. A BI product uses the information stored in a Data Warehouse to present it to the user. A BI tool (such as Business Objects) uses Key Performance Indicators (KPIs e.g., sales conversion rate, in-force polices, market penetration, for example) to report on data, identify trends, perform data analysis, etc. to enable business users to make decisions and operate the business as efficiently as possible while advancing a business strategy. BI increases business agility and shortens timeframes for decision-making. It gives companies the ability to identify and anticipate opportunities represented by seemingly unrelated events. It is a key enabler of strategic and tactical decision making. Commercial products include: IBM COGNOS MicroStrategy O

Saturday, January 18, 2020

Love Song

I thought of it as a positive because he was almost escaping time. B: Okay so he's Just like thinking about everything in this moment so time doesn't exist anymore A: Yes B: So when he says â€Å"Let fall upon the its back the soot falls from chimneys. † he almost personifying their sleep. Okay because I kind of saw it as him reflecting on his entire life and how there will be time to do all these things that I want to do but in the end is it worth it? And when he says â€Å"let us go then you and l. Maybe he's talking about the afterlife and saying what is the meaning of all of this until you get there. They also talk about Michelangelo, maybe because he's dead but almost amortized. A: He said â€Å"Do I dare† often and â€Å"how should I should I presume† I don't know maybe that's Just the uncertainty if It all and like the things like he said let us go and take these risks but he questioned it. Just moments we overlook or miss out on because we don't know how to think.Then he talked about like In line 40 and on â€Å"my hair growing thin† â€Å"my arms are thin† â€Å"do I disturb the universe? † do I question time do I go out even though nature Is taking Its course B: And he says indeed there will be time to wonder do I dare like there will be time to think about the things that you would have done and maybe he regrets not doing some of them. Like he says â€Å"l have measured my life with coffee spoons† and he know the voices and has kind of been In the background.You know coffee spoons Is kind of tedious A: Yea kind of living autonomously, Just like day by day doing the same thing and then think maybe this moment Is something different or special or he has this revelation that maybe I should take a risk and I guess In that moment he thinks this Is how I'm living my life and kind of reflects B: He repeats the question â€Å"would It have been worthwhile to do al these things and says no I am not prince ham let nor was I meant to b† and he says â€Å"I'm more Like a fool and fool and someone who advises the prince† and I don't know what do you think that means A: He also mentions Like a lot of characters really exalted people and he's saying†¦B: Kind of that he won't be remembered A: Exactly Like talking of Michelangelo, and Lazarus and a prophet, Prince Hamlet B: Yea and he's not prince hamlet A: He's not anything special I guess or he wants to be B: And so how does this reflect on love then he's saying would I have been worthwhile o squeeze this universe Into ball A: It think maybe In this moment he this thinks to himself what If I had lived my life Like this all the time and what If I had taken risks I could have know this feeling more. If we're looking at It Like love or even If It Is the end of his life and In the afterlife he's thinking I could have done so much more Like I'm not this person but I could have been and Instead I was the assistant that's Just the u ncertainty if it all and like the things like he said let us go and take we don't know how to think. Then he talked about like in line 40 and on â€Å"my hair o out even though nature is taking its course B: And he says indeed there will be measured my life with coffee spoons† and he know the voices and has kind of been in the background.You know coffee spoons is kind of tedious A: Yea kind of living moment is something different or special or he has this revelation that maybe I should take a risk and I guess in that moment he thinks this is how I'm living my life and kind of reflects B: He repeats the question â€Å"would it have been worthwhile to do says â€Å"I'm more like a fool and fool and someone who advises the prince† and I don't now what do you think that means A: He also mentions like a lot of characters really A: Exactly like talking of Michelangelo, and Lazarus and a prophet, Prince Hamlet B: to squeeze this universe into ball A: It think maybe in this m oment he this thinks to himself what if I had lived my life like this all the time and what if I had taken risks I could have know this feeling more. If we're looking at it like love or even if it is the end of his life and in the afterlife he's thinking I could have done so much more like I'm not this person but I could have been and instead I was the assistant Love Song The poem I chose to imitate and use to create my pastiche was Joseph Brodsky’s â€Å"Love Song†. The poem is Brodsky’s unusual ode to the woman he loves, telling her all the things that he would do for her if he could. These are things that he would do to show her how much he loves her, how far he would to take care of her, and how attracted he is to her. I chose this poem because I felt that it was an interesting combination of humor and subtle sexual innuendo intertwined with classical love poem emotion.I also chose this poem because the structure of it and the meter of the words were interesting and I wanted to challenge myself to recreate this structure with lines and thoughts of my own. Within Brodsky’s poem there are some particular elements that I intentionally tried to recreate, while there are others that I changed for my own. I tried to stay within the same meter with my poem as Brodsky did in his. I did this primarily because I enjoyed the way t hat the meter made his poem so easily readable and made the poem flow better.Brodsky did this by using words and lines with the same number of syllables, and I tried to recreate this element for the same effect. I also chose to utilize the element of rhyming every other line so that every two lines complete one sentence and one sentiment for the poem’s reader. Again, I felt that this technique made the poem flow well and made it more interesting. I began my creative process to create my pastiche of Brodsky’s poem by reading it several times.I did this to get an accurate understanding of the places in the poem where he inserted humor or innuendo in the lines. I felt that it was important to evenly space out these occurrences as Brodsky did so my poem didn’t come off too humorous and seem like a joke or a less than heartfelt expression. I also noted the individual components that Brodsky said he would be willing to be in his poem and tried to follow these. In some lines he refers to being a particular occupation, but in others he refers to himself as hypothetically being an inanimate object.I tried to follow this same structure because I felt it lent to the imagination of the poem and the genuine expression of love. The biggest challenge for me when creating my pastiche was to rhyme every other line. I find it difficult to write poetry that rhymes but I wanted to keep this element from Brodsky’s poem. I dealt with this challenge by trying to keep the first word, which is the word for which I would need to find an accompanying rhyme, simple and easy to rhyme.This meant rewriting some of the lines to make them end with an easy but fitting word, but it also helped me to make the poem flow better. I think I was able to rhyme the alternating lines while still incorporating meaningful metaphors in my poem. The other challenge I encountered was trying to implement Brodsky’s use of sexual innuendo without making the poem sexual. I trie d to accomplish this by using metaphors that hinted at sexual or physical attraction without being too overt, but I honestly found it difficult to imitate Brodsky’s sly subtlety.Overall, I think that the resulting pastiche that I created is a good imitation of Brodsky’s poem without mirroring it exactly. While I followed his formula for constructing the poem, I used my own metaphors which give it my own perspective. I think I did a good job of retaining the structure and flow of Brodsky’s poem, which was difficult since I was using my own words and having to rhyme every other line like he did. In creating this pastiche I was reminded of how much work goes into writing what seems like a simple poem.It’s easy to look at Brodsky’s poem, which is only sixteen lines of simple language, and decide that it must be easy to write something like it. But in reality, the structure, language and rhyme scheme made it more difficult than originally imagined. It t ook a lot of creative effort to create something individual while imitating the elements of the original poem that I liked or wanted to incorporate, but I think the resulting pastiche is a quality imitation of Brodsky’s display of poetic talent.

Friday, January 10, 2020

RTL Implementation of MP3 Decoder IP Core

RTL IMPLEMENTATION OF MP3 DECODER IP CORE Abstraction The intent of this survey is to look into the effectivity of the MP3 decrypting design in hardware comparison to the more popular package design. Nowadays, the MP3 file format is the most popular criterion for audio compaction, used in playback device such as audio participants and nomadic phones. While MP3 decryption is one of the indispensable portion in multimedia system, most of the decryption design are software-based, peculiarly because of the design of the system, which is easier compared to the hardware portion. However, the package design has higher clock, therefore higher power ingestion. This happens because of the design itself ; it has more iteration in the scheduling algorithm. There are undertakings that combine both hardware and package design in the MP3 decrypting creative activity, but the standalone hardware rational belongings ( IP ) nucleus is still non good explored. This paper will present a brief position on the basicss of the undertaking, every bit good as the needed inside informations needed in working on the undertaking. Every inside informations presented in the study are either gathered from diaries, books and the online beginning available. The mark of this undertaking is to run the designated IP nucleus and implemented in Register Transfer Level ( RTL ) manner, in which it easy means utilizing the hardware descriptive linguistic communication ( HDL ) as the footing linguistic communication for the design.Table OF CONTENTSChapterTitlePageDedication2Recognitions3Abstraction4Table OF CONTENTS5List OF FIGURES71.0Introduction81.1Undertaking Background81.2Aim91.3Problem Statement91.4Scope of the Undertaking102.0Literature Review112.1Related Studies and Previous Work112.2Introduction to the MP3 Decoding Core132.2.1Synchroscope142.2.2Huffman Decoding152.2.3Requantiser162.2.4Reordering172.2.5Antialiasing182.2.6Inverse Modified Discrete Cosine Tr ansform ( IMDCT )192.2.7Synthesis Polyphase Filterbank203.0Research Methodology223.1Introduction223.2Ocular Representation of Research Methodology223.2.1Altera DE2 Board243.2.2Altera Quartus II253.2.3NIOS II25List OF FIGURESFIGURE NO.TitlePage2.1The MP3 bitstream format192.2The three parts of frequence line202.3The reordering procedure ( the darker coloring material represents higher frequences )222.4The antialias butterfly232.5Types of window sequences in a subband252.6The IMDCT operation flow273.1The undertaking work flow3.2The Altera DE2 board ( beginning: hypertext transfer protocol: //www.terasic.com.tw/ )293.3The Quartus II work bench environment303.4The NIOS II work bench environment31Chapter 1 IntroductionUndertaking BackgroundMPEG-1/2 audio layer-3 ( MP3 ) is a most popular format for playback of high quality compressed sound. During the recent old ages the application of MP3 sound codec has exploded. Typically MP3 files are played back utilizing package ( CPU or DSP ) , but recent tendencies have since informant the outgrowth of portable device, such as nomadic phones and MP3 participants. While DSP architecture is the most efficient for running MP3 participant, the challenges of FPGA execution of MP3 decrypting are less understood. Field Programmable Gate Array, merely known as FPGA, is one type of incorporate circuit that is consumer-programmable, therefore it is called â€Å"field programmable† . This incorporate circuit uses hardware descriptive linguistic communication ( HDL ) to configure. Nowadays, FPGA has since advanced into a high degree of efficiency during the past decennary. It has since become the major HP in different types of application, since it can be employed as standalone System on Chip ( SoC ) or powerful gas pedals in multi-chip system. The mark of the undertaking is to implement the MP3 decrypting nucleus by using the FPGA belongingss. While utilizing the bing package codification to run the decipherer in package, efforts has been done to run the decipherer in hardware, which will go the chief way in this undertaking. Then, comparing the public presentation of these two methods will besides be the focal point of the undertaking.AimThe aim of this undertakings are:To plan the MP3 decipherer hardware based and can be implemented in portable based designTo measure the efficiency of the hardware based decipherer comparison to the common package based deciphererProblem StatementMost of the MP3 decryption designs are of in package. However, the hardware importance of the decryption design has since taken the popularity today. Therefore, several efforts have been taken to make the to the full hardware architecture of the decryption nucleus. This paper will measure the efficiency of the hardware decipherer as per package d ecipherer and to look into the advantages of both methods.Scope of the UndertakingThe range of the undertaking includes combination of several elements such as hardware, package and electronic parts. Below are the Scopess for the undertaking.Uses Verilog HDL linguistic communication as its chief footing for programmingExplore the application of Verilog utilizing Altera DE2 BoardInclude package programming such as C and C++Implement the application ( partial ) utilizing downloaded package for package execution ( Quartus II 9.1, Nios II 9.1 )Chapter 2 LITERATURE REVIEW In 1988, Hiroshi Yasuda ( Nippon Telegraph and Telephone ) and Leonardo Chiariglione had initiated the working group Traveling Pictures Experts Group ( MPEG ) to put the criterions for audio and video compaction and transmittal. The group, formed by International Organisation for Standardisation ( ISO ) and International Electrotechnical Commission ( IEC ) , has since developed into an organisation joined by members from assorted industries, universities and research establishments. One of the criterions that have created is the MPEG-1 Layer 3, or good known as MP3. MP3 is the standard format used for digital audio compaction, in which the design have 12:1 compaction ratio, from 1.4Mbps 128kbps bitrate for compact phonograph record ( Cadmium ) music.Related Studies and Previous WorkIt is known that MP3 decrypting procedure is a hard procedure, but several research workers and industrialist have attempted to plan the decipherer for this specific format. For case, Faltmanet Al.( 2003 ) have stated that the designing of MP3 decrypting in portable and stand-alone participants have gained in popularity. In the study, Faltmanet Al.( 2003 ) besides stated the importance in the public presentation of these hardware MP3 decrypting based on the clock rhythms and power use. It besides includes an effort to to make an MP3 decipherer in hardware, by utilizing Xilinx FPGA board. Thuonget Al.( 2005 ) have proposed the architecture of the MP3 decryption nucleus, in which the subcores of the architecture can be separately designed, coded and tested easy. However, the design of the nucleus is coded utilizing VHDL, the older version of RTL linguistic communication. Ko and Nicolici ( 2007 ) have tested the execution of the nucleus utilizing Altera DE2 board and Xilinx multimedia board. It besides has consequences including the figure of logic elements, reversals, memories and multipliers involved. Bhargav and Yang ( 2008 ) have introduced the use of Linux-run interface on the decryption nucleus. Their research has besides opened the possibilities of animating the popular piece of consumer engineering utilizing bing hardware available in the lab. Still, the design utilizes both hardware and package constituent in their design architecture. It has few general lags due to system clock and debugging procedure. Singhet Al.( 2008 ) have proposed that the demand of hand-held participants and multimedia in nomadic phone have raised a demand for a dedicated hardware to decrypt the file formats with low power ingestion and faster acceleration. Papakonstantinouet Al.( 2008 ) have researched instance survey on the execution of drifting point math in decipherer execution to accomplish existent clip and faster decrypting procedure. In the instance survey, the writers introduce floating-point ( FP ) unit in their architecture to measure the operation velocity ; therefore naming it the FP execution of MP3 decryption. In the latest research by Moslehpouret Al.( 2013 ) , the undertaking uses NIOS II system, which is a portion of package device, to read files and produces end product from the decrypting procedure. By utilizing unafraid digital ( SD ) card as input devices, the system uses Altera DE2 board but synthesize different file format: moving ridge files, or.wav extension files. Even so, the exposure of the study have shown that running the decipherer is possible, peculiarly because of package characteristics use Altera SOPC builder in Altera Quartus 9.1 environment, in which the platform is largely used in third instruction degree. Some of the old work did even make the architectural design of MP3 decipherer, utilizing a VLSI cell-based attack. Tsaiet Al.( 2004 ) have proposed the specific architectural construction of MP3 decipherer in which it achieves a high throughput with a decreased memory demand and hardware complexness. Meanwhile, Kalpanaet Al.( 2012 ) have tried to implement the algorithm on the decreased direction set computer science ( RISC ) based ARM processor, which is far more advanced, proficient wised. All of the old work did hold its important characteristics in edifice MP3 decryption nucleus, either in hardware or package. However, the execution of MP3 decrypting IP nucleus, which uses Verilog HDL as its hardware linguistic communication, as implementing it to the full hardware based is non good discovered. Therefore, the focal point is the study is to undertake the design of MP3 decrypting nucleus, on the surface at least.Introduction to the MP3 Decoding CoreHarmonizing to Kalpanaet Al.( 2012 ) , all MP3 files are divided into fragments called frames. Each frames shops 1152 samples, enduring for 26ms, which the frame rate is about 38 frame per second ( Federal Protective Service ) . The first measure to decrypt MP3 file format is by happening the start of the frame, which is called synchronism procedure, or else called initial reading.SynchroscopeBefore decryption, the start of the frame must be found. If the frame is interrupted, we can non happen the exact place of the followi ng frame ( Thuonget Al., 2007 ) . The construction of the frame consists of 5 parts ; heading, cyclic redundancy cheque ( CRC ) , side information, chief informations and accessory informations.HeadingCRCSide InformationMain informationsAncillary Data Figure 2.1The MP3 bitstream format The inside informations about the frame heading is as follows:Frame HeaderIt is a 32-bit long and has description of the frame, together with the synchronism word to separate the get downing portion of the bitstreamCRCUse to look into if there is any transmittal mistake for the most sensitive informations. The CRC will merely exists when the protection spot in the heading is set.Side InformationIncludes the of import information needed to decrypt the chief information. This depends on the channel manner. For individual channel, 136 spots are allocated, while for double channel, 256 spot allocated ( this is tantamount to 17 bytes in individual channel, 32 bytes in dual-channel )Main DataThe chief informations portion consists of the frames that includes scalefactors, Huffman coded spots and accessory informationsAncillary DataThis information can keep user-defined information. This frame country can keep optional informations such as vocal name or song information.Huffman DecodingThis subdivision contains one of the most of import undertaking in MP3 decryption. The undertaking of Huffman decrypting is to transform and mapping the information into scalefactors and symbols stand foring the 576 original frequence lines for each granule. These frequence line is divided into three divider ;Big-values,Count1andRzero. Big-valuesCount1Rzero Figure 2.2The three parts of frequence line Detailss on the Huffman codification divider are as follows:Big-valuesRepresents the lowest frequence lines and are coded with the highest preciseness, scaled from values between -15 to 15. When the decipherer finds the value 15, it assumes that the higher preciseness is needed. This can be done by utilizing the value 15 as an flight codification, so reads extra spots from the imput watercourse. The figure specified in the Huffman tabular array are called linbits.Count1Represent the higher frequence lines ; non necessitate the higher preciseness scaled value. Ranging from -1 to 1.RzeroRepresent the highest frequence lines, and non portion of the bitstream. It contains the the frequence lines that are removed by the encoder. These values are filled with nothing by the decipherer.RequantiserThe symbols generated from Huffman decrypting is so reconstructed into the original frequence line by utilizing the scalefactors provided in the side information of the frame. The low frequence scal efactor set contains less values than the high frequence. The descaling equation for both short blocks and long blocks are defined as Short blocks: Long blocks: The denoted scalefactorsscalefactor_sandscalefactor_lused by requantiser are provided by Huffman decipherer. Parametersglobal_gain,subblock_gainandpreflagcan be found in the frames provided by the Synchroniser block. The notaiondefines end product from the Requantser block, whileis the Huffman decoded value at indexI.ReorderingThis block merely has one undertaking: it reorders the frequence lines within a granule. When the short block is decoded, a short window will be used. The end product is so sorted into subbands, so on frequences and at last by Windowss to increase the efficiency of Huffman coding. Figure 2.3The reordering procedure ( the darker coloring material represents higher frequences )AntialiasingAntialiasing is the procedure where its map is to cut down the inevitable assumed name effects because of the use of non-ideal bandpass filtering. The alias Reconstruction is based on the butterfly computation, dwelling of eight butterfly computation for each subband. Figure 2.4The antialias butterflyInverse Modified Discrete Cosine TransformInverse Modified Discrete Cosine Transform, known as IMDCT, reproduce clip samples from the frequence lines, together with synthesis polyphase filterbank. The clip samples can be obtained from the frequence lines by utilizing the undermentioned equation. The IMDCT operation flow begins by taking 18 input frequence lines and generates 36 polyphase filter subband samples. The samples so multiplied with with a 36-point window before passed into following decryption procedure. Windowing is the procedure of multiplying and overlapping add-on operation of IMDCT’s end product with the sine window coefficient. Based on the length of each window, four types of block is used ; they arestart,halt,shortandlong. The determination of block type is based on the analysis of the psychoacoustic theoretical account. Figure 2.5Types of window sequences in a subband However, bring forthing 36 samples from 18 input means that there are merely 18 samples are alone, therefore the IMDCT method uses a 50 % convergence. In this instance, the 36 end product samples is so divided into 2 groups, low group and high group, which has 18 samples each. The overlapping procedure is so carried out by adding values from the higher group, old frame with the lower group, matching frame. Then, the frequence inversion is so taken topographic point to accomplish right stage difference. This was done by multiplying every uneven subband with ( -1 ) . Figure 2.6The IMDCT operation flowSynthesis Polyphase FilterbankThis block is the last measure in decrypting procedure. It converts all 32 subbands to bring forth 32 Pulse Code Modulation ( PCM ) samples at a clip The filterbank exploits aliasing and windowing to travel the subbands back into their frequence sphere. This block is divided into two parts ; Modified Discrete Cosine Transform ( MDCT ) and windowing.Modified Discrete Cosine TransformEach clip frame of the subband samples are ordered so that the first 32 values are the first sub-sample from each subband, and so forth. The MDCT processes 32 values at a clip by utilizing the equation: where The end point end product values,is so stored in the barrel shifter.WindowingThe windowing procedure tallies by multiplying the valuesfrom the barrel shifter with the window map. This window map is specified in the ISO criterion. The PCM generated are so computed for each loop. The MDCT and windowing together run 18 times for each granule, bring forthing 576 PCM samples ( 27ms at 44.1kHz ) . Chapter 3 RESEARCH METHODOLOGYIntroductionThis chapter discusses the well planned attack taken during the project’s timeline to guarantee that the undertaking is good organized and run expeditiously. The methodological analysis is represented into a flow chart for easiness of apprehension.Ocular Representation of Research MethodologyThe designate work flow for the undertaking is shown below, in Figure 3.1. Figure 3.1The undertaking work flow The undertaking begins by researching any old plants related to the MP3 decryption and FPGA-based architecture execution. Besides that, several resources on hardware descriptive linguistic communication and package programming tutorial have besides looked at. The procedure involved in constructing the nucleus is studied and briefly elaborated to give excess cognition in order to carry through the research. The importance and intent of the undertaking is besides discussed in the first phase. The hardware used for proving and implementing the undertaking is Altera DE2 Educational Development Board. Figure 3.2The Altera DE2 board ( beginning: hypertext transfer protocol: //www.terasic.com.tw/ )Altera DE2 BoardThe Altera DE2 board provides everything needed to develop many advanced digital designs utilizing Altera Cyclone II device, with utilizing application package Altera Quartus II. This development board is the first measure to present and larn basic FPGA devices easy, since it is accessible in the lab. It is suited for a broad scope of exercisings in classs on digital logic and computing machine organisation, from simple undertakings that illustrate cardinal constructs to progress designs.Altera Quartus II Figure 3.3The Quartus II work bench environment Altera Quartus II is a package tool produced by Altera for analysis and synthesis of HDL designs, which enables the user to roll up their designs, execute clocking analysis, analyze RTL diagrams, imitate a design ‘s reaction and configure the mark device with the coder.NIOS II Figure 3.4The NIOS II work bench environment Nios II is the most widely used soft processor in the FPGA industry. Nios II incorporates many sweetenings over the original predecessor, Nios architecture, doing it more suited for a wider scope of embedded computer science applications, from DSP to system-control. The development for Nios II consists of two separate stairss: hardware coevals, and package creative activity.

Thursday, January 2, 2020

The Christian Community At Large Talks About Unity

It seems like--in first world countries especially, and America in particular--Satan has largely been successful in dividing the Church. Not only have Christians been broken into factions, sometimes called denominations, but individuals in a single congregation are often isolated from one another. On a single street, we may find two distinct congregations of similar beliefs, made separate by something trivial as differing styles of worship. In a single pew, there may be two people who have no spiritual influence in each others lives because they belong to different social sets. And these are just the superficial matters--we haven t even considered divisions over Scriptural interpretations, or sin, or damaged relationships. The Christian community at large talks about unity. We (mostly) have a good sense of humor about light-hearted jibes across denominations and the stereotypes associated therewith. But how many of us reach out and develop friendships outside of our study group (or clique, or church)? How many churches are actually serving together, outside of their own denomination? How many Baptists would fellowship with Pentecostals, or Protestants with Catholics? Hang on a minute! I can t really expect Protestants and Catholics to get along. We ll have to call it good at civility. Firstly, there s a long history there, not all of it pretty. Secondly, have I read the doctrine of either side lately? Do I even understand the insane and radical thing I just daredShow MoreRelatedCameroon : The Secret Of Peace Documentary1572 Words   |  7 PagesNorth and the South, small villages and big cities, Christians and Muslims, priests and homeless kids, have all shared their experiences and perspectives on how different religions shape people’s relationships in local communities and at the national level. The first thing that I had in my mind while watching this documentary was Eller’s Cruel Creeds, Virtuous Violence reading that we had at the very beginning of the semester. Eller talks about six areas in which religion can contribute to the creationRead MoreMedia and Technology Representation1236 Words   |  5 Pagesmovie was thought provoking and simply beautiful. The movie was about war torn villages wherein Christians and Muslims are having personal conflicts and are plaguing the whole village at large. The conflict had mixed effect in the whole habitants of the village and the women on the movie are trying to keep off men from each other’s throat. The movie was all about the coexistence of Lebanese Muslim and Christians living in one community. The issue was felt by everyone as it was overtly done. The movieRead MoreNostra Aetate Essay914 Words   |  4 PagesYears ago, a man was crucified for saying he was God’s Son. His name was Jesus Christ. Those who f ollowed his teachings were named Christians; and Christians soon resented Jews for their sinful act. This tension between Christians and Jews lead to increasing hatred for one another. Not too long ago, anti-Semitism was common. Anti-Semitism led to the death of an entire population during the Holocaust. Luckily, the church has taken measures to rectify this anti-semitism with the publication of NostraRead MoreAugustine And Two Fathers Of The Greek Church1702 Words   |  7 Pagesgiant bronze and gilt canopy with four twisting pillars. Decorated in olive and laurel vines with nude children at play and chasing swarms of bees to come to rest underneath the canopy at a golden dove, symbolizing, peace, victory in peace, purity and unity, and the Holy Spirit, respectively (Interior of the Basilica.; DiMassa, 202-03). The bees symbolize a thing that works for the hive, its only ultimate goal is the continual success of the hive with no recompense to itself (DiMassa, 202-03). The sameRead MoreNew England and Chesapeake Regions Before 1700718 Words   |  3 Pagesthe New England colonies came from an area called East Anglia in Eastern England. They left England because of religious persecution and came to the New World seeking religious and social freedom. The immigrants that came to New England came in large families, as shown in the ships list of emigrants bound for New England in March, 1635. On the other hand, most of the people that settled in the Chesapeake region came without their family, as shown in the ships list of emigrants bound for VirginiaRead MoreLet s Stop Judging A Book By It s Cover1318 Words   |  6 Pagesconversation for positive social changes. For instance, in several African countries, poverty and lack of education is a huge problem. We can use conversation by teaching them the safety hazards that come with female genital cutting. For instance, Appiah talks about how his father came from a society where neither male or female were circum cised but eventually as a teen he decided to get circumcised. Circumcision became in a way â€Å"modern† just as Appiah explains it. This can relate to the topic of female circumcisionRead MoreThe Un Charter : The Violation Of National Sovereignty And Territorial Integrity Of A Member Of The Right770 Words   |  4 PagesI’m going to talk about the UN Charter. I think that some legal flaws of the UN Charter inevitably encourage the civil wars. State that influenced by Western Christianity culture often have great confusion on the role and interests of human rights and humanitarian due to religious obstacles. According to the UN Charter, collectivity benifits derive from Individualism (can be understood as human rights above sovereignty), which is actually its legal basis of existence. However, this term isRead MoreCultural Immersion Project Essay1719 Words   |  7 Pagesthe interesting things I found in my research was that, in Nigeria the Christian faith and the Muslim faith represents the greatest percentage of religions. I also learned that the Christians and Muslims pray every day several times a day. With that being said, I wondered if they believed in a higher entity prayed every day, who they are praying to? And what is their belief system based on? (question 1) Since their Christian faith seems to be divided into Catholic, Protestant or some other, I decidedRead More The Grapes of Wrath as Communist Propaganda E ssay example1199 Words   |  5 Pagesthe American Dream, and opportunity itself, but furthermore advocates social change. The book implicitly suggests communist ideals through the characters of Tom and Casey. Casey, in his questioning of Christian dogma, begins to reevaluate equality, in the terminology of what is holy. I figgered about the Holy Sperit and the Jesus road. I figgered, `Why do we got to hang it on God or Jesus? Maybe, I figgered, `maybe its all men an all women we love; maybe thats the Holy Sperit - the human speritRead MoreLesbian, Gay, Bisexual, And Transgender1675 Words   |  7 PagesOne particular group that this paper will be focusing on is The Lesbian, Gay, Bisexual, and Transgender (LGBT) community because they face multiple levels of victimization, and it is hard for this group to adjust to society once they have identified themselves as being gay, lesbian, bisexual, or transgender. In 2013, law enforcement agencies had reported 5,928 hate crime incidents, 20.8 percent were motivated by sexual orientation, and 60.6 percent were identified as gay male-targeted bias. Gay males