Presentation on theme: "Service Oriented Architecture"— Presentation transcript:
1 Service Oriented Architecture Senthil Kumar DoraiswamyPrincipal Architect, Infor Global Systems
2 Agenda What is SOA? Definitions Is this New? SOA in Action SOA and User InterfaceQ & A
3 What is SOA?Service-Oriented Architecture (SOA) is the next wave of application development.SOA lets heterogeneous environments and applications exist while leveraging existing applications and infrastructure.Service-Oriented Architecture (SOA) is the next wave of application development. SOA lets heterogeneous environments and applications exist while leveraging existing applications and infrastructure. This fosters code reuse, reducing costs and risks while speeding time-to-market. Has the “silver bullet” finally arrived? No, but we have seen the consolidation of a wealth of lessons learned over the past 30 years of IT development.
4 … service oriented architecture (SOA)? … a composite application? Definitions… a service?A repeatable business task – e.g., check customer credit; open new account… service orientation?A way of integrating your business as linked services and the outcomes that they bring… service oriented architecture (SOA)?An IT architectural style that supports service orientation… a composite application?A set of related & integrated services that support a business process built on an SOASOA is the aggregation of components satisfying a business driver. It comprises components, services, and processes. Components are binaries that do specific tasks. These binaries eachhave a defined interface and usually one job (e.g., “validate user” or “obtain credit rating”) to do well. A service is simply a grouping of components (executable programs) to get the job done.Example: “process loan application.”
5 Is this New? Service Oriented Component Oriented Object Oriented Plat.Ind Reusability Distributed across EnterpriseService OrientedSOAP, WS-* , BPEL etcLang.Ind/Binary Reusability DistributedComponent OrientedCOM/DCOM, CORBA, JavaReusability AbstractionIs this New?. During the days procedural language like C/Pascal, for the purpose of the maintainability and reusability people started writing the modularized or functionalized programs. As time passed, it became difficult to manage/group the similar function and share the variables across the them, reuse the functions across the teams. This led to emergence of the Object-Oriented principals, where is consumer did not bother of the variable state etc. When multiple languages like C++, Ada, VB emerged, that reusability across this language became important. This resulted component oriented architectures like COM/DCOM, CORBA. As outsourcing emerged as winner in the business process, then the supplier and customer started playing important role within a business process execution. This required reusing or invoking the component across the enterprise/network boundaries, which resulted in the new paradigm of the Service Orientation.Object OrientedClass XC++, Small talkModularity MaintainabilityFunctionalizedC, Pascal
6 SOA in Action – It’s All About the Business Order-to-Cash processDivisionSOA is all about business processes. Let’s take a look at a division in a company and its Order-to-Cash process. Notice this is a divisional process. Many companies have autonomous divisions all with their own processes and ways to execute. Within the Order to Cash process there are multiple business functions involved (roughly represented by different color blocks here). There is marketing and catalog management, order entry, inventory management, fulfillment and delivery logistics, accounting and receivables, and reconciliations, audit, and business intelligence.In the past, the division in the company may have taken care of all of these business functions all internally.This has changed.
7 SOA in Action – It’s All About the Business CustomerDivisionWith the emergence of the internet, customers can now access you directly via the web. Customer self-service is the order of the day. This started with Amazon and Dell, but its applicable to every business today.So this part of the business process has moved to the customer, it may be through a web interface you provide or for businesses, it may be direct access to your systems via a web service.Regardless of the technology, the key is that customer’s are now directly involved in the business process as opposed to all the interaction being through a customer service representative.Change: Customer Order Entry
8 SOA in Action – It’s All About the Business CustomerDivisionShared ServiceMany companies are examining how they do business internally and they often find out that different parts of their business actually do the same thing, many times over. This can be infuriating to customers because each division acts and operates with different policies and procedures. This is also a big cost to the business since they have to maintain different applications doing exactly the same thing.The solution to this problem is a Shared Services organization – organizations that are set up to perform functions common across the organization – in this example, we’ve show:Marketing– generation that should represent consistency company branding, and may require specialized expertise that individual divisions do not have.Billing – common billing, often into a consolidated billReceivables – common receivables – common credit status and collection processes, visibility across the entire organization.So, now, the divisional process must be modified to take advantage of the shared services of the company in order to consolidate the customer experience and to obtain economies of scale over common business functions.Remember some of the customer successes shown in slide 5. This is exactly how Kookmin Bank saved $250 million -- by reducing duplicate processes across the business.Change: Shared Service – Marketing, Billing, Receivables
9 SOA in Action – It’s All About the Business CustomerDivisionShared ServiceSupplierFlexibility is not just internal processing… it also applies to how a business deals with its suppliers. Today, many organizations are looking for ways to minimize or eliminate the inventory they have to manage. Over time, the concept of vendor managed inventory has emerged where the vendor is actually responsible for all of the inventory functions. Although allowing the supplier to worry about inventory management requires exchanging consumption information with the supplier it is usually more cost effective than having to build and maintain the in-house applications needed to do that job.Change: Supplier Handles Inventory (VMI)
10 SOA in Action – It’s All About the Business CustomerDivisionShared ServiceSupplierSupplierNext, let’s look at shipping – who is really good at shipping and logistics? Well companies like FedEx, DHL, and UPS excel in these areas. Often times, they have capabilities you couldn’t even imagine of. You can make them part of the business process. In other words, your business actually connects and uses the shipping services of the shipping company.OutsourcedChange: Shipping by FedEx, DHL, or UPS
11 SOA in Action – It’s All About the Business CustomerDivisionShared ServiceSupplierAnd outsourcing is not limited to letting a supplier do the work. For those functions that are not strategic differentiators and where others do them better, outsourcing is an answer. You can move part of the business process to an outsourcer. For example, it may be decided to let overdue payments be handled by a collection agency as opposed to in-house.OutsourcedChange: Collections Outsourced
12 SOA in Action – It’s All About the Business CustomerDivisionShared ServiceSupplierFinally, not all changes involve moving work outside of your organization. Through analytics, you can identify bottlenecks in your processes. You can identify areas where you have high costs. Areas for improvements. For these, you want to have the flexibility to optimize your business processes by maybe executing different flows for different types of customers. For example, the division may decide that there are high value customers for which if there is a collection issue, the company wants to handle that situation themselves and not send it to an outside collection agency.In this little example, we have seen how a monolithic business process could be broken up into a set of services to provide business flexibility.OutsourcedChange: Process Optimization
13 Enterprise Services Bus Application Components SOA Conceptual ModelProcess ChoreographyCommon Information ModelMessage TransformationCommon StoreBusinessProcessChoreographyUserInteractionServicesPartnerConnectionsMediationTransformationPublish/SubscribeMonitoringEnterprise Services BusRoutingSecurityEventsQoSBusinessRegistryApplication Components
14 SOA and User InterfaceChallenges in consuming Services in user interfaceBusiness Data Vs User Interface DataNavigation Flow Vs Work/Process FlowMore and More Device Independent
15 SOA And User Interface: SOA at UI level Composite Application UI: PortalsPortals (UI Orchestrator) and Portlets ( UI Service)Standards : JSR 168, WSRPRegistryFindPublishPortalsPortalsClientsClientsWSRPServicesPortalsPortalsPortalsPortalsWSRPServicesWSRPServicesPortalsWebClientsWebClientsWebClientsWebClientsWebClientsPortalsPortalsWebClientsWebClientsWebClientsPortalsBindPortalsPortalsWebClientsWebClientse.g.
16 SOA and User Interface Composite Application UI: Microsoft CAB the CAB allows developers to create UI components as separate, discrete units (SmartParts, similar in concept to WebParts in SharePoint) that can then be orchestrated via the concept of a WorkItem.