Ws Soa Ibmcertified PDF
Ws Soa Ibmcertified PDF
Ws Soa Ibmcertified PDF
05 Sep 2008 Thinking about getting certified in Service-Oriented Architecture (SOA)? Want to catch the wave of interest in SOA? Take this tutorial to prepare for the IBM SOA fundamentals test leading to your certification as an IBM Certified SOA Associate. Even if you're not planning for certification right now, this tutorial is a good place to start learning about what SOA is and what it can do for your organization.
Objectives
This tutorial is an additional resource in your quest to become an IBM Certified SOA Associate. Following the objectives of the IBM SOA Fundamentals exam, this tutorial is composed of five main sections, each covering a major topic through a set of
SOA fundamentals in a nutshell Copyright IBM Corporation 1994, 2008. All rights reserved.
Page 1 of 34
developerWorks
ibm.com/developerWorks
subsidiary questions and answers. You'll learn about: The value of SOA. The main driver for SOA's rise to prominence. Basic SOA concepts. The realization of SOA. SOA management. Preparations to adopt and implement an SOA, and what you can expect.
Prerequisites
The tutorial discusses SOA from a vendor-, implementation-, and technology-independent point of view, so you don't need any specific technical knowledge to follow along. A basic background in the concept of Web services and SOA is helpful although not required. It's a good idea to review the objectives of exam 664 before you get started.
ibm.com/developerWorks
developerWorks
visible, and manageable level. With reusable services and high-level processes, change is easier than ever and is more like disassembling and reassembling parts (services) into new, business-aligned processes. This not only promotes efficiency and reuse, it provides a strong ability to change and align IT with business.
What factors contribute to SOA's most popular capability: business agility enablement?
SOA fundamentals in a nutshell Copyright IBM Corporation 1994, 2008. All rights reserved.
Page 3 of 34
developerWorks
ibm.com/developerWorks
Because change is inevitable, the only guarantee of the continuity of a business is its ability to anticipate and adapt to changes, also known as business agility. Crucial to the future of any business, SOA makes business agility possible with the following factors. Loose coupling Enables real-time business capabilities because it removes the hard connections that impede the ability to change Changes the way IT costs are distributed, with less expenses in implementation and more investments in reuse Increases the feasibility of real-time remote access to original sources of information, thus reducing the delay and dependencies Integration projects are driven by business needs, with the visibility of capabilities provided (that is, business is the main driver) Lets companies extract more data measuring business performance in real time by exposing and sharing information Decreases time to market because connections to customers and partners can be made faster Makes it easier for partners to do business with your company Promotes and publicizes your services, making it easier for customers to find you and your services Makes it easier to find new partners and services by helping you search for the most suitable service for your need Reuse Makes processes more consistent because they depend on the same reused components Promotes increased quality through competition between the services providers Gives consumers a wide choice of suppliers Covers essentially all classes of IT assets: hardware, software, data, and process assets Decreases the impact of change because it's done in a central location and reflects on all concerned parties Lets you focus on business processes rather than technical
ibm.com/developerWorks
developerWorks
implementation Helps decrease the cost of integration because the component has already been integrated Lets you make system changes without constraining business change Promotes flexibility, which gives you more space to innovate Lets you publish once but consume many times Extensibility Makes SOA solutions available to all sizes of organizations Changes software-deployment activities from a big-bang model into a more dynamic, less-time-consuming model, which is more appropriate to the business Makes it easier to add or change partners Accelerates mergers and acquisitions Facilitates exposed services, which represent potential new revenue sources
SOA fundamentals in a nutshell Copyright IBM Corporation 1994, 2008. All rights reserved.
Page 5 of 34
developerWorks
ibm.com/developerWorks
A homogeneous IT environment: If an organization depends on a set of coherent productsbelonging to a same vendor, for example, has a limited scope of work, and has no need to add or change any of these products, an SOA might be a liability more than a useful strategy. When true real-time performance is critical: To provide loose coupling between different consumers and producers, an SOA depends on interoperable protocols, which are slow by nature. It can also induce mediation logic and asynchronous protocols, which aren't suitable for real-time performance. When things don't change: If the customer sees no change happening to the business logic, presentation, data flow, process, or any other aspect of the application, converting old systems to SOA might not return sufficient value to make the effort worthwhile. When tight coupling is not an inconvenience: Loose coupling is of best use when it's used with a component that's not under your control and, this, you can't control its change. On the other hand, when the component is yours and under your control, loose coupling can be a burden, especially if the component isn't really reusable.
ibm.com/developerWorks
developerWorks
Page 7 of 34
developerWorks
ibm.com/developerWorks
Based on open standards and promoting platform-independent business integration, SOA needs a common platform to base its infrastructure on. This infrastructure needs to be supported by all involved parties to form a common base of understanding. XML is at the core of this infrastructure for the following reasons: XML is the foundation for virtually all Web services standards, such as XML schema, SOAP, Web Services Description Language (WSDL), and Universal Description, Discovery, and Integration (UDDI). These standards leverage the core concept of XML-based representations, a worldwide supported format that carries out information interchange between service providers and requesters in an SOA. Using XML resolves the challenge of working with different data formats in different applications across multiple platforms. XML has the benefit of ease of representation, being text-based, flexible, and extensible by nature. Examples of standards built on XML that SOA leverages include: SOAP: This simple XML-based protocol lets applications exchange information over transportation protocols like HTTP. Using XML in SOAP guarantees that the SOAP protocol is: Platform independent. Internet usable. Humanly readable, structured, and text based. With the benefits above, SOAP is the recommended and most widely used communication protocol for Web services. Knowing that Web services are the cornerstone for SOA, it's therefore also the basic communication protocol for SOA solutions. WSDL: WSDL is a document written in XML to describe a Web service. It specifies the location of the service and the operations (or methods) the service exposes to let individuals access those services. A WSDL file describes four main things: Services available by the Web service interface, such as listing names of methods and attribute messages Data types of messages Binding information for the transport protocol, such as HTTP and JMS Service address to be used when calling it Electronic Business using eXtensible Markup Language (ebXML):
SOA fundamentals in a nutshell Page 8 of 34
ibm.com/developerWorks
developerWorks
ebXML is a standard way to define the business transactions that can be performed between different businesses. ebXML defines standard methods for business messages exchange, establishing trading communications and registering business processes between companies
Service registries
A service registry is a directory of services available in an SOA system. It contains the physical location of services, versions and validity periods of services, service documentation, and policies. A service registry is one of the main building blocks of an SOA architecture. Its role is described below: The service registry realizes the SOA promise of loose coupling. By holding the service endpoint locations, it removes the high coupling resulting from hard-wiring the consumer to the provider. It also eases the potential difficulties in replacing one service implementation with another if needed. A service registry is highly scalable; it evolves seamlessly should the system it serves grow. It enables systems analysts to survey an enterprise's business services portfolio. They can then determine which services are available to automate processes to address pressing business needs and which aren't, letting you know what needs to be implemented and added to the portfolio, providing a catalog of the available services. A service registry can step into the role of governing services by enforcing compliance for subscribing services. This helps ensure the integrity of service governance and policies. You'll learn more about governance and its importance in SOA later in this tutorial. Visibility of the available services and their interfaces allows speedier development, greater application reuse, improved governance, and better business planning and management. The lack of a service registry leads to redundancy and inefficiency. Service registries help reduce time wasted in locating service information. Without a registry to track services and their relationships, an SOA environment not only lacks coherence and control, it invites chaos.
SOA fundamentals in a nutshell Copyright IBM Corporation 1994, 2008. All rights reserved.
Page 9 of 34
developerWorks
ibm.com/developerWorks
From "Business processes and workflow in the Web services world" (developerWorks, Jan 2003): "A business process can be defined as a set of interrelated tasks linked to an activity that spans functional boundaries. Business processes have starting points and ending points, and they are repeatable." Another definition is: A business process can be seen as a set of activities performed by a business entity in response to an event. This set of activities is harmonized, described and integrated within the business process. Issuing an identification card for a person is an example of a business process. You present your certificate of birth, your educational and professional papers, and a photograph to initiate the process. Then an internal file is created, a security investigation is conducted on you, and finally, after all the processing is done, you get an ID card. In the SOA paradigm, the business process controls the flow of services. The business process drives the flow of events, calls and coordinates services, and creates a context for them to intercommunicate. Business processes represent the business abstraction; decoupled from the implementation of services, a process cares about the flow of business. This separation of concerns not only allows more focus on process creation, it makes it easier to edit processes according to need without having to edit the underlying service implementations. Elements of a business process It might be better to define a business process in terms of its composing elements; this provides some technical insight into a business process. Input: The information needed by the activities of the process to produce a result. In the example of the ID card, the inputs would be your credentials, birth certificate, and photograph. Output: All the data and information generated by the process. The output represents business goals and measurements needed for the business. In the ID card example, this would be an internal file for you and a physical ID card as well as measurements on how the process proceeded. Events: Notifications of some occurrence of importance. An indication, for example. They can occur before, during, and after the execution of a process. In the ID example, this might be the input of a new document that wasn't present at first and that needs to be included. Subprocess: Smaller process, or process steps, inside a process. A
ibm.com/developerWorks
developerWorks
subprocess is used when it's not possible to represent the scope of work with only a set of activities. It has the same elements as the process. In the ID example, this might be the subprocess of investigating your criminal record and getting the results. Activity: The lowest level of work in a process. In the ID example, this can be the creation of a new internal file for you, the person getting the ID card. Performance metrics: Attributes that represent the effectiveness of a process to determine if it meets the required performance. These metrics help determine the performance and compare it to the required figures. They also point out potential areas of improvement in the process, ultimately, and ideally, realizing the cycle of improvement that the SOA promises. In the ID example, measurements would calculate which part of the process consumed most of the time or had the highest processing hit. This helps later on in improving the process.
SOA fundamentals in a nutshell Copyright IBM Corporation 1994, 2008. All rights reserved.
Page 11 of 34
developerWorks
ibm.com/developerWorks
WS-AtomicTransaction or WS-BusinessActivity, which make use of its framework. WS-AtomicTransaction: Is used with short-lived distributed activities. It provides three types of protocols that can be used with the WS-Coordination framework for two phase commit ACID-type transactions (transactions supporting atomicity, consistency, isolation, and durability) to choose from: Completion Volatile two-phase commit Durable two-phase commit WS-BusinessActivity: This protocol is used with long-running transactions with compensation processes. As with the WS-AtomicTransaction protocol, it uses the WS-Coordination framework to provide two protocols for business activity coordination: BusinessAgreementWithParticipantCompletion BusinessAgreementWithCoordinatorCompletion
ibm.com/developerWorks
developerWorks
general-purpose mechanism to associate security tokens to the message rather than a fixed security mechanism. The generic platform supports different security mechanisms. The protocol is designed to be extensible. BPEL4WS Business Process Execution Language for Web Services (BPEL4WS) is defined in the OASIS online community for BPEL: "This protocol defines a model and a grammar for describing the behavior of a business process based on interactions between the process and its partners. It also defines how multiple service interactions with partners are coordinated to achieve a business goal, as well as the state and the logic necessary for this coordination." As they are clearly needed, BPEL4WS introduces methods to deal with business exceptions and faults, as well as ways to compensate other committed processes that may need to be reversed in case of errors. Because BPEL needs to be supported universally, it's based on the universally acknowledged WSDL protocol, which, itself, is layered on XML. WS-I As declared on the WS-I Web site (see Resources for a link): "The Web Services Interoperability Organization (WS-I) is an open industry organization chartered to establish Best Practices for Web services interoperability, for selected groups of Web services standards, across platforms, operating systems and programming languages." This group is concerned with the development of Web services standards among different implementations, platforms, and their actual interoperability. Its main goal is to guide and advise organizations on how to ensure interoperability while interconnecting systems using Web services. WS-I has four main deliverables: Profiles that are versioned specifications describing implementation guidelines and best practices for Web services that are interoperable and work together as a set Use cases and usage scenarios to demonstrate the guidelines in the profiles Sample applications
SOA fundamentals in a nutshell Copyright IBM Corporation 1994, 2008. All rights reserved.
Page 13 of 34
developerWorks
ibm.com/developerWorks
ibm.com/developerWorks
developerWorks
Here are some definitions of terms used in this section: Service provider: Provider of services whose invocation contract and location are published Service consumer: Consumer of services matching his or her business need found in a service directory Service directory: Directory for publishing and listing available services for consumers
SOA fundamentals in a nutshell Copyright IBM Corporation 1994, 2008. All rights reserved.
Page 15 of 34
developerWorks
ibm.com/developerWorks
Operates in the distributed, heterogeneous environment because it: Supports synchronous and asynchronous communication Uses standard interfaces and standard protocols Centralizes control and distributes processing Supports mediation to formulate the request/response as needed between different parties without the need of change in any Applies security and QoS to the SOA project
ibm.com/developerWorks
developerWorks
A process that's defined in the BPEL4WS is composed of: The activities, which are the individual business steps within the process. The activities can be basic or formed of other activities (structured). Partner links, which specify external entities that interact with the process, or vice versa, using WSDL interfaces. Variables that store messages passed between activities, thus, representing state. Correlation sets, used to correlate multiple service requests or response messages with the same business process instance. Fault handlers to deal with exceptional situations that can occur when a business process runs. Event handlers, which receive and process messages in parallel to the normal execution process. Compensation handlers, which specify the compensation logic to undo an activity or more when an exception happens. Human tasks Business choreography also provides support for human tasks, which are components involving human intervention either with a service or with another person. An example is managerial approval on travel requests or handling a customer request by an individual. The types of human tasks are: Participating tasks: These are initiated by the system (process), which requires a human response to continue execution. The system initiates the task and an individual from the candidate executers claims the task and executes it. Then she provides the output back to the system, notifying it of its completion. An example for this is a travel reimbursement process awaiting manager approval. Figure 2. Participating task members and interactions
Originating tasks: As their name signifies, these are initiated by a person through a user interface. They target a system; a person creates an
SOA fundamentals in a nutshell Copyright IBM Corporation 1994, 2008. All rights reserved.
Page 17 of 34
developerWorks
ibm.com/developerWorks
originating task and starts it; and a request is sent to the system to run the services that are needed. As soon as the system finishes executing, a notification is sent to the initiator. An example of such a task is the initiation of a travel reimbursement process by an employee. Figure 3. Originating task members and interactions
Purely human tasks: These are, like originating human tasks, created and started by a person. And, like participating human tasks, they target another person who then claims and completes the task. Purely human tasks don't interact with business processes or other Web services. They're not automated tasks, yet they pass through the same cycle of assignment and notifications. Figure 4. Purely human task members and interactions
It's logical that human tasks can take much more time than automated tasks, which raises another question: Can processes afford the interruption and wait time caused by human tasks? The answer is yes. And to get into more detail, let's tackle the subject of business process types. Business process types Business processes can be either long-running or micro-flow: Long running processes are interruptible and can also run in several transactions. They can wait for external stimuli, like those resulting from the use of human tasks. A rule of thumb is that if a process contains a human task, then the process must be long running. Long-running processes can also contain both synchronous and asynchronous services. Long-running processes store each intermediate process state to be forward-recoverable. Micro-flows run in a single thread without interruption. They are also called noninterruptible business processes. Micro-flows run in only one transaction, are short in duration, and consist of synchronous services only.
ibm.com/developerWorks
developerWorks
Let's break these down: Model stage The model phase includes business analysis and requirements gathering, which are then followed by modeling and optimizing the business process. The model helps lay a common understanding of the process, its objectives, and outcomes. It also makes sure that the design meets the business requirement and provides a baseline to measure the performance later on. Assemble stage During this phase, existing assetssuch as enterprise resource planning (ERP), financial systems, IBM CICS applications, and so on)that are needed in the modeled processes are wrapped as services, while nonexisting needed functionalities are implemented and tested. After all services are available, they can be orchestrated to implement the business process. Deploy stage
SOA fundamentals in a nutshell Copyright IBM Corporation 1994, 2008. All rights reserved.
Page 19 of 34
developerWorks
ibm.com/developerWorks
During the deployment phase, the runtime environment can be configured to meet the required quality-of-service levels and security requirements. The environment can be scaled and optimized to be capable of reliably running the mission-critical processes, and at the same time providing flexibility to make updates dynamically in case of change. Manage stage During this phase, several aspects are managed and monitored, such as the services assets, services availability and response times, and version control over services. An important role in this phase is monitoring the key performance indicators (KPIs) of the processes. This helps to prevent or isolate and diagnose emerging problems in real time as well as provide feedback on the business process performance and bottlenecks to help improve it. This feedback is sent to the model phase, the first step, helping improve the process.
SOA governance
Without a controlling entity, an SOA is not only challenging to manage, but it invites chaos because of its open and distributed nature. Because of this, it needs a management and controlling entity: governance. Definition of governance SOA governance is a framework for decision and role identification to encourage IT actions that are synchronized with the enterprise strategy and prevent those that aren't. This framework is managed by a group or committee responsible for creating policies to enforce governance and role identification, empowerment, and accountability of individuals who are given the capability of decision making and policy enforcement. In brief, the committee needs to address three main questions: What decisions need to be made to ensure effective management of IT
ibm.com/developerWorks
developerWorks
assets? Who should be responsible for making these decisions? How can such decisions be enforced and monitored? As part of the governance realization, service level agreements (SLAs) are identified and monitored for verification. Performance metrics are also collected to represent the effectiveness of the governance.
The need of SOA governance is obvious because: Governance involves applying the principles of an enterprise strategy to direct and control IT. Governance aims to encourage behaviors consistent with the organization's mission, strategy, and values toward achieving the enterprise's business goals, adding value while balancing risk and return. Governance assures keeping services at a defined level in terms of integrity, performance, reliability, and currency. Governance makes sure that business application needs are being correctly assessed and prioritized to drive creation and consumption of services, thus ensuring the best usage in alignment with business goals. Governance ensures that IT investments are being used in a profitable
SOA fundamentals in a nutshell Copyright IBM Corporation 1994, 2008. All rights reserved.
Page 21 of 34
developerWorks
ibm.com/developerWorks
manner. Governance ensures that an enterprise-wide SOA-enabling architecture is the main guide for design of any service. Governance, as a controlling entity, leverages the best practice of IT principles. To protect the business assets, governance also enforces security of enterprise data and privacy of information shared across boundaries. Governance, managing the IT of the enterprise, enforces integrity and reliability of data and processes to leverage reuse and maximize profit. Governance ensures a certain level of performance and quality of service on all components in the consumer-provider chain of services. Standards are at the base of SOA, so governance helps to enforce high levels of interoperability, which leverages the enterprise with all the benefits of open standards. Governance uses metrics to audit and monitor the progress of the development of the IT infrastructure and its conformance with established policies.
ibm.com/developerWorks
developerWorks
multiple applications, platforms, business partners, and entities, which can't be managed at a single point. You have to consistently enforce security policies across the environment. The security system needs to be able to evolve as the enterprise and its applications evolve.
SOA fundamentals in a nutshell Copyright IBM Corporation 1994, 2008. All rights reserved.
Page 23 of 34
developerWorks
ibm.com/developerWorks
Identifying boundaries and entry points. Enlightening people with the benefits that SOA can bring to the business and IT. Measuring the challenges and drivers to SOA induction on both the business side and the technical side.
ibm.com/developerWorks
developerWorks
Providing a service bus where the flow of messages and messages themselves can be managed providing another dimension to flexibility and adaptability of the system. Easing integration with modular, componentized services and a connecting services bus. Being built on standards and protocols that are widely supported to enable interoperability, a goal of SOA since its start. Promoting reuse with a services repository and mediation modules. Boosting connectivity using the ESB, which takes connectivity to its highest peak. The ESB is responsible for mediation of protocols, data, and formats to ensure compatibility.
What business issues and drivers can organizations expect when preparing for SOA adoption?
The business domain cares about the form and impact that this new paradigm will have on the organization, so there will likely be some business issues that need to be identified and confronted. Business issues Business issues can include: Management doubting or questioning SOA because it's a new idea that's more IT-driven than business-driven. Defining the strategy and level of adoption, taking into account the current situation of the organization and how ready it is to adopt SOA. Mapping process to services. Lack of knowledge about SOA and what it can provide. The misconception that SOA is an IT architecture method only, which can lead to neglecting the critical role of governance. Underestimating IT business value. Most of these issues can be resolved, or at least highlighted, by conducting educational sessions to show the benefits and real value of SOA. Business drivers The main business driver is SOA's potential to:
SOA fundamentals in a nutshell Copyright IBM Corporation 1994, 2008. All rights reserved.
Page 25 of 34
developerWorks
ibm.com/developerWorks
Drive a business' return on investment (ROI), with reduced implementation costs through adopting standards, reuse, exposing services, and integrating with partners. Decrease time to market by reusing assets and incorporating partner-provided services. Increase the visibility of IT assets and their alignment to the business goals. Improve flexibility both internally in communication and externally in dealing with partners. Provide more efficient processes by reusing IT assets and leveraging standards. Promote business agility and the ability to adapt easily and quickly to business and market changes. Reduce costs throughout the organization.
What IT issues and drivers can organizations expect when preparing for SOA adoption?
Don't forget the IT department. Some of the issues and drivers that are important to them are listed next. IT issues IT issues can include: Changing the existing tailored systems into standards-based services. Management, governance, and control of services. Security challenges of distributed systems. Reliability of new systems versus the existing, dependable systems. Optimizing and unifying the existing asset to remove redundancy. IT drivers IT drivers might be: Adopting standards. The drive for standards is also considered an issue, but despite the effort needed to adopt standards, the benefit is clear to every IT specialist.
SOA fundamentals in a nutshell Page 26 of 34
ibm.com/developerWorks
developerWorks
Ensuring high QoS. Reuse of existing IT assets. Loose coupling of services. Independence from a certain provider or partner.
SOA fundamentals in a nutshell Copyright IBM Corporation 1994, 2008. All rights reserved.
Page 27 of 34
developerWorks
ibm.com/developerWorks
The notion that complex systems are better, and fear of the unknown. Overlooking the importance of architects and considering them theorists that cost more than the solution needs. It's important to note that architects are instrumental in SOA, and their absence will surely result in undesirable results. Organizational resistance to adopt an SOA model. SOA requires cooperation from all groups in the organization, not just the mere implementation of the IT framework.
ibm.com/developerWorks
developerWorks
Empowering people through SOA solutions can help boost efficiency and innovation, and provide a foundation for greater productivity and collaboration. Because people drive the interaction with the SOA services that execute business results, focusing on people is critical to the success of SOA implementations. The people entry strategy to SOA can help: Accelerate productivity. Reduce costs of access to multiple applications and information sources. Reduce time to deployment for new services. Increase access to process flexibility and orchestration. Enable collaboration inside and outside the enterprise. Process By entering SOA from a process entry pointa business-centric starting point for SOAan organization can streamline processes across the enterprise, including improving the efficiency, flexibility, and control of key business processes. This helps align business and IT goals, and reduces the complexity of building process. Focusing on the processes entry points helps: Improve employee productivity. Increase collaboration. Accelerate time to market. Respond quickly to business challenges. Implement new processes in less time. Maximize ROI. Information By entering SOA from an information entry point, an organization can improve the availability and consistency of information, while removing barriers to information sharing, thus offering information access to heterogeneous data sources inside and outside the organization's boundaries. It can also help people better understand the organization's operational, transactional, analytical, and unstructured information, and make it available in new ways through SOA. This entry point can help: Collect and clean date, and make data widely accessible, enabling transparency and business insight. Reduce the cost of migration and rationalization of data by decoupling
SOA fundamentals in a nutshell Copyright IBM Corporation 1994, 2008. All rights reserved.
Page 29 of 34
developerWorks
ibm.com/developerWorks
information from applications. Increase an organization's agility by providing reusable information services spanning the whole organization that can be used by applications and processes, and at the same time reduce costs associated with accessing and transforming data. Connectivity This IT-centric entry point to SOA is designed to simplify the IT environment with a more secure, reliable, and scalable way to connect within and beyond a business, linking people, processes, and information in the business. Empowering connectivity through SOA helps: Ensure seamless flow of information with different protocols inside and outside the organization. Execute enterprise-level business processes that span the organization and business partners efficiently. Build trusted relationships with partners. Scale the business to grow smoothly. Deliver a consistent user experience regardless of channel or device. Reuse Reuse is another IT-centric entry point to SOA. It focuses on deriving continued value from existing assets and identifying services to be outsourced instead of implemented. By entering SOA from this entry point, the organization can reuse, extend, enhance, or create new processes. This enables it to increase business flexibility and responsiveness through reduced development time and elimination of duplicate processes. Using this entry point can help: Reduce the amount of new code that must be created for business initiatives. Improve efficiency. Reduce risk by reusing dependable resources. Lower maintenance costs by eliminating redundant systems. Wrap services performed by legacy applications into standards-based services that can participate in the broader image while delivering the same dependable output.
ibm.com/developerWorks
developerWorks
Section 8. Conclusion
This tutorial examined the fundamentals of SOA and covered the following topics: The value of SOA, how it can benefit an organization, and when it should and shouldn't be used SOA concepts, including services, processes, and the role of standards and service registry Basic SOA architecture, including more technical concepts, such as the role of Web services, ESB, and business process choreography SOA management, why it's important, the QoS contract, and security Preparing for SOA, including the SOA benefits to business and IT, possible issues and drivers in both and how to handle them, readiness of organizations and how to measure it, and the entry points for SOA
Acknowledgments
I would like to express my gratitude to all those who helped during the different stages of this project. I am most indebted to Ahmed El-Maadawy for his continuous guidance and support. Special thanks to Ahmed Abbas, Ahmed El-Maadawy, Hala Aziz, and Salma El-Sheribini, who took time out of their busy schedules to review the tutorial and provide comments. I would also like to acknowledge the support of Ahmed Abbas during the writing process and the encouragement of Ahmed Fouad in the early stages of the project.
SOA fundamentals in a nutshell Copyright IBM Corporation 1994, 2008. All rights reserved.
Page 31 of 34
developerWorks
ibm.com/developerWorks
Resources
Learn Take the IBM course SW717: Introduction of the Value and Governance Model of Service-Oriented Architecture. Take the IBM course SW719: Technologies and Standards for SOA Project Implementation. Check out the IBM SOA entry points: IBM reuse SOA entry point IBM people SOA entry point IBM information SOA entry point IBM connectivity SOA entry point IBM process SOA entry point Read "SOA Governance Solution" from Sun Microsystems. Read "SOA Connectivity Delivering the ESB without limits" [PDF], an IBM paper about ESB and its value. Learn when not to use SOA in Jason Bloomberg's article on ZapThink. Take a WSDL tutorial. Read an excerpt from O'Reilly's Web Services Essentials. Get information about ebXML. Learn more about transaction support in SOA platforms. Check out the different Web services transactions specifications (developerWorks, Nov 2004) and the different Web services security specifications (developerWorks, Apr 2002). Read about business process activities as Web services. Read "Patterns: Using Business Service Choreography In Conjunction With An Enterprise Service Bus" [PDF] by Chris Nott, one of many helpful IBM Redbooks. Learn more about IBM WebSphere Process Server for z/OS: IBM WebSphere Process Server for z/OS, Business Process Choreographer [PDF] WebSphere Process Server help on business process types
ibm.com/developerWorks
developerWorks
WebSphere Process Server product overview Read "A case for SOA governance" (developerWorks, Aug 2005). Visit the IBM academic initiative page about SOA skills. Read the book Web Services and Service-Oriented Architectures: The Savvy Manager's Guide by Douglas K. Barry. Check out the top five tech buzzwords according to SearchSystemsChannel.com. Learn about XML compression and its role in SOA performance. Read "Business processes and workflow in the Web services world" (developerWorks, Jan 2003). Visit OASIS' online community for BPEL. Visit the WS-I home page. The SOA and Web services zone on IBM developerWorks hosts hundreds of informative articles and introductory, intermediate, and advanced tutorials on how to develop Web services applications. Play in the IBM SOA Sandbox! Increase your SOA skills through practical, hands-on experience with the IBM SOA entry points. The IBM SOA Web site offers an overview of SOA and how IBM can help you get there. Stay current with developerWorks technical events and webcasts. Browse for books on these and other technical topics at the Safari bookstore. Check out a quick Web services on demand demo. Get products and technologies Innovate your next development project with IBM trial software, available for download or on DVD. Discuss Participate in the discussion forum for this content. Get involved in the developerWorks community by participating in developerWorks blogs.
Page 33 of 34
developerWorks
ibm.com/developerWorks
Mohamed I. Mabrouk Mohamed I. Mabrouk is a software engineer at IBM Egypt Global Delivery Center. Working at IBM Cairo Technology Development Center then moving to IBM Egypt Global Delivery Center, he gained experience in services projects in the areas of J2EE, Microsoft .NET, business integration, and SOA, which grabbed his interest with its capability of bridging different technologies.
Trademarks
IBM, the IBM logo, ibm.com, CICS, developerWorks, and WebSphere are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. These and other IBM trademarked terms are marked on their first occurrence in this information with the appropriate symbol ( or ), indicating US registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. See the current list of IBM trademarks. Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries.