Putting Web Services into ContextBrent CarlsonVP of TechnologyLogicLibrary, Inc.
AgendaTodays complex IT environmentWeb services: an opportunity to align technology with businessThe enABLE methodologyAn example component CurrencyExchangeApplying the enABLE methodology to our exampleA business process example RosettaNetAn enterprise case study CNA InsuranceSummary
Todays Complex IT EnvironmentGenerations of technologies coupled with current business demandsFurther complicated by:Budget constraintsCompetitive pressuresNeed to protect corporate knowledge
Web Services: An Opportunity to Align Technology with BusinessWeb services provide enterprises with the opportunity to:Normalize existing applicationsModernize legacy applications with new technologiesIsolate new development from legacy environmentsEnable current business systems to support next-generation business processes
But It Doesnt Happen For FreeBlindly applying Web services technology will result in:Poor performanceYALOT: Yet Another Layer Of TechnologyMore spaghetti code
IT organizations need to take the time to:Define where they are goingAlign their application development and integration with business needs
The enABLE MethodologyAssess what you have and create a roadmap for migrating to Web servicesBuild a catalog of essential software development assets (SDAs) mapped to your roadmap (i.e., your business architectures and models)Locate the most appropriate software development assets for your high-priority services, using the catalog you have builtEmploy these assets in your tools of choice for developing Web services
An Example SDA: CurrencyExchange Component
Applying enABLE to Our Example: AssessTechnology on which the asset is based.NET
Compatibility of the assets technology with future technical plansPlans going forward for service-oriented architecture based on .NET Framework
Available documentation that describes the assetUML model, documentation, requirements,
Current use of the asset in the organizations business activitiesUsed for support of international order processing (internal)
Expected use of the asset to support future business needsExpand international order processing to the Web and to automated B2B integration
Applying enABLE to Our Example: Build
Applying enABLE to Our Example: BuildPrimary UML construct is class diagram laying out coarse-grained reference components/servicesOther UML constructs to consider:Use CasesEstablish initial requirements for business functionActorsPreconditionsFunctional scenario / use case stepsActivity DiagramsDescribe detailed process or subprocess flow underlying a use caseSpecific activities can be mapped to functional capabilities that are to be implemented as Web services
Applying enABLE to Our Example: BuildSample Use Case Diagram
Applying enABLE to Our Example: BuildDrilling into Sell Items Activity Diagram
Applying enABLE to Our Example: BuildAssociating Convert Currency Activity with Component
Applying enABLE to Our Example: BuildReturning to our component modelMap our reference component to our example asset
Applying enABLE to Our Example: LocateFinding assets as part of an application development projectIdentify the applicable portion of the business reference model Currency Exchange systemInvestigate the services and operations defined by the modelconvertCurrencyValue, etc.Initiate a search for SDAs mapped against the modelCurrencyExchange component is foundRetrieve various artifacts to evaluate the assetUML model, source code,
Applying enABLE to Our Example: LocateTechniques and tools for locating candidate SDAsWord of mouth find out what others are using to meet this requirementManual browse models and scan source code Search statically maintained spreadsheetsUse an SDA mapping and discovery engine, such as LogicLibrarys Logidex
Applying enABLE to Our Example: Employ...Design considerations for our example Web serviceHow should we expose the information from our specialized date range exception to our Web service client?Do we choose to expose our conversion strategy capability on the Web service?Do we create separate Web services for our currency conversion operations from our currency maintenance operations, or do we combine them into one service?
Applying enABLE to Our Example: Employ...Combining multiple SDAs into a single Web serviceDo our SDA interfaces match our desired service API? If not, what additional behaviors are required? Can we harvest other SDAs to support these behaviors?Do some operations span multiple assets? If so, where does the glue logic reside? How do we implement compensation logic?
We will revisit these points in our case study
A Business Process Example:RosettaNetWhat is RosettaNet?RosettaNet is a consortium of major Information Technology, Electronic Components, Semiconductor Manufacturing and Telecommunicationscompanies working to create and implement industry-wide, open e-business process standards. These standards form a common e-business language, aligning processes between supply chain partners on a global basis. From RosettaNets home page at www.rosettanet.org
Why Is RosettaNet Interesting?Prasad Rampalli, Intels IT Architect:We have championed the whole B2B commerce space with a lingua franca based on the RosettaNet standard. It is based on an XML messaging format and has a sufficient level of encryption to enable secure B2B conversations with the multitudes of trading partners that we've got.From Dec 15, 2002 ZDNet interviewhttp://techupdate.zdnet.com/techupdate/stories/main/0,14179,2901716,00.html
Emerging Business Process StandardsSignificant industry movement away from EDI towards standardized, XML-based business process and messaging definitionsWeb services is accelerating this trendOther examples of business process standards:ACORD: insuranceIFX: financial servicesebXML: electronic business/trading
Emerging Business Process Standards Advantages:Can learn from industry best practices and experienceXML-based message setsStandard data dictionariesReference business processesPackaged applications are adopting standards as they move towards Web service-oriented APIs
Besides, your business partners are probably already doing something here and will take you with them whether you like it or not!Intel: 13 percent of all our machine-to-machine, B2B transactions today are happening through the (RosettaNet) standard roughly 30,000 transactions a month.
Back to RosettaNetComposed of Clusters, Segments, and Partner Interface Processes (PIPs)
Example:Cluster 3: Order ManagementSegment 3C: Returns and FinancePIP 3C3: Notify of Invoice
Drilling Into Our Example
Drilling Into Our Example
Drilling Into Our Example
Drilling Into Our Example
Bringing Us Back To Our Original Use Case
Bringing Us Back To Our Original Use Case
And Our Original Component Model
And Finally To Our Original Component!
So What?Business processes matter to an IT organization!After all, you are in business to support the business (and not the other way around)Defining the right business processes is hard workMost organizations do not have a clear view of how they do businessUsing standards-based processes (in part or in whole) can help to rationalize the business Dont try to boil the ocean pick and choose the most important/dynamic areas of business to focus onLinking business processes to existing and new technology is also hard workWeb services (and service-oriented architectures) can helpTools can helpWhich leads us to our case study
An Enterprise Case Study: CNA InsuranceCNA InsuranceGlobal Insurance organization12 billion in revenue15,000 employees total, 1,600 in IT workforce
CNAs Service-oriented Architecture InitiativeLed by Dmitry Tyomkin and Boris Lublinsky, Enterprise Architects, CNAs Solutions and Architecture Group Objectives:Build bridges between different systems and applications Leverage existing IT assetsCreate ability to respond quickly and efficiently to changes in the business environment
SOA in the Enterprise Architecture CNAs View
Business Process Driven Enterprise
Existing IT Hardware/Sofware Topology
EAI - Integrating and Exposing Existing Enterprise Systems
Services - Rationalization of Enterprise Systems Against Business Meaningful Services
Current SOA Components in CNAConsolidated InfrastructureEnterprise Service BusIntegration HubService Invocation and Execution FrameworkService LocatorServices Implementation FrameworkService Classification
CNAs Service Catalog: LogicLibrary LogidexProjected ServiceAcquired ServiceCertified ServiceImplemented ServiceAcquisitionCertificationImplementationTestingDeployed ServiceTested ServiceDeploymentIntegral part of SOAFollows service lifecycleManages development and deployment information
Service CompositionServices and Methods are managed independentlyServices are composed of one or more MethodsMethods may be composed within one or more ServicesTypically a Method will be composed within a single ServiceRelationships between Services and Methods are managed with strongly-typed asset-to-asset relationships within Logidex-managed metadataAppropriate Methods identified as new Services are defined and projectedProjection process includesSelecting from predefined MethodsSpecifying new candidate MethodsMethod-level granularity within Logidex enablesMore granular usage trackingFlexible service composition based on domain needs
SummaryTo mitigate the risks & fully realize the benefits of implementing Web services: Dont blindly apply Web services technologyTodays tools can generate Web services quickly, but. Take the time to define your future business process needsIf you dont know where you are going, how will you ever get there? Review your current business systems Dont boil the ocean. Pick the key systems that support business needs. Meet in the middleMap your current business systems to your future business processes.
Thank you!Brent CarlsonVP of Technologybrent.firstname.lastname@example.org
For decades, companies have been writing code. Forty years ago, it was applications that ran on mainframes. Then, workstations were introduced. Then, client/server applications became cutting-edge. Within the last decade, companies have been writing for the Internet, and applications have begun to be delivered on a variety of devices, including PCs, PDAs and cell phones. With each new technology, new consumers of the technology also arose from internal audiences to customers, suppliers and partners outside the enterprise. Each succeeding application development trend was supposed to modernize all that preceded it. But, in 2002, youre still supporting legacy applications built decades ago in lots of different technologies stored throughout your enterprise in lots of different repositories that have to meet the needs of lots of different audiences. This highly complex technical environment is made even more complicated by todays business environment of tight budgets, tough competition and developers including those with lots of knowledge about how the legacy systems operate to meet business needs who are retiring or leaving. How do you begin to simplify this environment?
CNA Insurance believes that a Service oriented Architecture is a natural progression of enterprise IT. During its initial EAI phase, CNA built adapters for a star-based integration, providing transactional integration at run-time. However, this approach has its limitations in leveraging these adapters since they are specific to the transactions.
The use of services to leverage existing IT assets more generally for internal integration, and especially for integrating with business partners, is the current focus. The project refactors and exposes EAI adapters as services, (including web services), for more generalized integration. These services are aligned with key business process requirements to enable more rapid application development driven from assembly of those business processes.
The benefit of this approach is more rapid assembly of applications, addressing: the building of bridges between different systems and applicationsthe leveraging of IT assets And increasing the ability to respond quickly and efficiently to the changing business environmentIn the next few slides, well see how CAN is taking the major steps to implement this integration.This diagram shows a simplified view of the service implementation process with a series of process steps described as acquisition, certification, classification and publication. Each box represents the state of a particular service as it progresses through the implementation process.The Acquisition state represent the service build process. The Certification represents the test process, Classification defines the appropriate service use and Publication makes the service visible to the business analyst, architect and application developer.Logidex manages and tracks the service through each state, providing both asset search functions over the assets metadata as well as collaborative functions such as asset subscriptions and imbedded discussion forums. Once the service is Published, Logidex also tracks where the service is used.