Teamcenter’s Service Oriented Architecture

Transcription

Teamcenter’s ServiceOriented ArchitectureWhite PaperIntegrating Teamcenter-managed product design anddevelopment with your mainstream business processesToday’s companies are discovering they can more flexibly performtheir business processes with less IT intervention if they use aservice oriented architecture (SOA) as the technological foundationfor their digital product design and development environment.Teamcenter software’s SOA services provide an open, highperformance, coarse-grained interface to the Teamcenter system’sBusiness Logic Server. These services enable you to accessTeamcenter-driven capabilities and integrate them with yourexisting business processes – as well as to create customized,task-specific programs to meet your business needs.Issued by: Siemens PLM Software. 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.

White Paper Teamcenter’s Service Oriented ArchitectureContentsExecutive summary .3Why a service oriented architecture is important .3What you can do with Teamcenter’s SOA services.4Gaining Teamcenter’s SOA advantage.4Introducing Teamcenter’s SOA .5What is a service oriented architecture? .5A technical look at Teamcenter’s SOA .6Using Teamcenter’s SOA services .9Logical deployment architecture .9Teamcenter’s SOA service areas .10Teamcenter’s SOA service invocation.10Using Teamcenter’s SOA client-side libraries .11Using Teamcenter’s SOA from WSDL-based applications .11Supported configurations .12A final evaluation .13Issued by: Siemens PLM Software. 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.2

3White Paper Teamcenter’s Service Oriented ArchitectureExecutive summaryThe biggest challenge for today’s corporate ITorganizations is to provide improved real-timevisibility into their company’s business operations. ITleadership is especially concerned with managing thesoftware application lifecycle and controlling its cost.Research indicates that the vast majority of ITexecutives and other senior managers are convincedthat a service oriented architecture (SOA) is the righttechnology approach for improving IT agility andlowering that portion of the IT budget (40 percent)associated with application integration. Increasinglycompanies are discovering that their businessbecomes more nimble and their processes becomemore flexible when they implement SOA as thetechnological foundation for key computing environments (such as the product design and development environment). Equally important, SOAs areable to facilitate these improvements with less ITintervention than was previously possible.To address these rising IT requirements, Siemens PLMSoftware has developed an SOA infrastructure forTeamcenter, Siemens PLM Software's flagshipsoftware for facilitating product lifecycle management (PLM) and supporting the PLM-driven businessprocesses adopted by its customer base.Teamcenter is industry’s most widely used PLMsolution with an integrated suite of applications thatleverage technologies such as 3D visualization,community collaboration, supplier management andcollaborative product data management (cPDM) todrive business productivity.Teamcenter’s SOA services provide a new coarsegrained interface to Teamcenter’s Business LogicServer. Teamcenter’s SOA services represent SiemensPLM Software’s go-forward strategy for enablingclient and external applications to access aTeamcenter-managed environment. These servicescan be used to: Integrate Teamcenter capabilities into your Embed Teamcenter-managed information andstatus results into existing clients, portals andexecutive dashboards. Integrate the Teamcenter portfolio and itsapplication solutions with diverse externalfunctionality, including CAD systems, collaborativedesign management tools (such as Teamcenter’sown community collaboration capabilities),manufacturing planning solutions (such asTecnomatix software) and highly popularbusiness applications (such as Microsoft Office). Asa result, you can establish a single cohesiveenvironment capable of supporting all of yourdigital lifecycle management initiatives.Teamcenter’s SOA is based on industry standards forWeb Services, primarily adhering to WS-1 and otherWS-x standards and best practices. SOA services alsoare accessible through numerous language-specificlibraries that make it easy for programmers with C,C , C# and Java experience to incorporate Teamcenter functionality into new and existing applications.Why a service oriented architectureis importantTeamcenter’s SOA services provide new capabilitiesthat allow you to deploy higher performing and morescalable WAN-friendly and firewall-friendly applications in a Teamcenter environment. Because thesecapabilities adhere to industry standards andestablished best practices, Teamcenter services arenow accessible to a wider development community.In turn, wider accessibility increases the likelihoodthat more robust and comprehensive services willevolve at a faster rate. Similarly, the worldwidedevelopment community will be able to access andleverage these services without having to learn howto use a proprietary language or protocol; no specialtraining is required.existing business processes, as well as for creatingcustom, task-specific client programs.Issued by: Siemens PLM Software. 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.

4White Paper Teamcenter’s Service Oriented ArchitectureWhat you can do with Teamcenter’sSOA servicesTeamcenter’s SOA is a coarse-grained API thatopenly exposes Teamcenter’s Business Logic Servercapabilities to Web Services, as well as to languagespecific programs. This provides an ideal solution forenabling a wide range of applications to access yourTeamcenter environment’s product design anddevelopment information.Teamcenter itself functions as the engine andrepository that connects all of your environment’sdesign and product development information in aflexible and loosely coupled manner – while providing your entire global environment with a singlepoint of access to these connected assets.Because Teamcenter’s SOA services are exposed as1WS-1 compliant WSDL and language-specificinterfaces, project teams are able to leverage aninterface that best meets their own needs whileassuring that the Teamcenter operations being calledare the same – and that their results will be thesame – regardless of the language or binding beingused. In addition, Teamcenter’s SOA easily supportsbatch, or non-interactive applications, as well ashighly interactive end-use applications on thedesktop.Gaining Teamcenter’s SOA advantageOrganizations that adopt Teamcenter’s SOA gain theadvantages inherent in the use of a consistent,comprehensive set of interfaces that leverageTeamcenter’s powerful product design and development services. Regardless of what language you useto call these services (and that choice is entirely up toyou), the business logic and results received fromTeamcenter’s SOA will be the same.You no longer need to worry about your projectteams’ skill sets or any language-related dependencies. Teamcenter’s SOA provides a single set of entrypoints for use by all clients and applications –regardless of their heritage.As new services are exposed via Teamcenter’s SOA,they will be immediately available in all supportedprogramming languages, as well as through industrystandard WSDL.Issued by: Siemens PLM Software. 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.

5White Paper Teamcenter’s Service Oriented ArchitectureIntroducing Teamcenter’s SOAWhat is a service oriented architecture?A service oriented architecture is a system designpattern that emphasizes the following attributes –along with other considerations: Appropriate functional granularity appropriate tothe task at hand Separation of the interface definition from itsimplementation Support for the concept of service providers andservice consumers who are distinct from eachotherTeamcenter’s SOA embodies all of these principlesand characteristics. It is built upon a frameworkconsisting of the entire client and service infrastructure that contributes to consistent, reliable and highperformance interaction between the applicationclients, service consumers and Teamcenter BusinessLogic Server (the service provider in this scenario).This framework enables application developers toconcentrate on creating specific business functionality rather than worrying about the low-levelcommunications and data management activitiesgoing on beneath them. Standards-driven complianceTeamcenter’s SOA characteristics reflect two additional factors:Service-oriented architectures also reflect a specific: Messaging via standard protocols Software framework Message content formats Set of policiesLike the implementations of most service orientedarchitectures, Teamcenter’s SOA uses standard HTTP/S Set of best and accepted practicesFigure 1: Teamcenter SOA framework components.Issued by: Siemens PLM Software. 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.

6White Paper Teamcenter’s Service Oriented Architecturecommunications protocols to send XML documentsback and forth between the service provider and theservice consumer. Use of these standards contributesto the openness, flexibility and scalability necessaryfor both the local and global deployment ofTeamcenter. It is this open, standards-based messaging environment that allows service providers andservice consumers to be implemented in differingtechnologies while retaining their interoperability.This messaging environment also allows existingapplications in one technology to be quickly adaptedso that they can interact with newer and richertechnologies and programming languages – whichhelps your company preserve its investments inexisting programs and processes.As a result of this flexibility, you can incrementallyenhance your product design and developmentenvironment at a speed that virtually matches yourbusiness’ real-world evolution. This alignment islargely facilitated by the arms-length, loosely coupledrelationship that exists between service providers(like Teamcenter’s Business Logic Server) and serviceconsumers (like Teamcenter clients, CAD systems,Microsoft Office and your own portal and dashboardapplications).A technical look at Teamcenter’s SOATeamcenter’s SOA consists of the following client-sideand server-side components that follow well-definedpatterns using standards-based protocols, languagesand data formats. SOA Framework provides the communications andinfrastructure functionality that enablesapplication developers to concentrate on creatingbusiness solutions rather than dealing withunderlying communications/messaging issues SOA Language Bindings provide language-specificfunctions (.NET, C , and Java) used by serviceconsumers to invoke an SOA service and properlyhandle the ensuing response SOA Client Data Model (CDM) and Data ModelManager provide managed type-safe storage onthe service consumer side for all data returned byservice responses from Teamcenter’s BusinessLogic Server SOA Toolkit provides tools that enable Teamcenterdevelopers to auto-generate all of the artifactsnecessary for exposing new Teamcenter businesslogic as SOA servicesIssued by: Siemens PLM Software. 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.

7White Paper Teamcenter’s Service Oriented ArchitectureIn addition to these major components, Teamcenter’sSOA environment also includes documentation oneach of the language bindings, WSDL and variousXML Schema Definitions (XSDs) used throughout thesystem.The relationships between the environment and itsmajor components are illustrated in Figure 2.The accompanying table describes the major components in Teamcenter’s SOA in more detail.Teamcenter’s SOA’s major componentsCapabilityFunctionSOA FrameworkConsists of the client-side libraries, as well as the communications infrastructure andKey capabilities fora best-practice portfolio management solutionserver-side libraries that make up a full-featured request/response pipeline. All SOAFramework components are auto-generated by the SOA Toolkit and are completelyopaque to both the author of the service and consumer of the service.SOA LanguageBindingsRepresents the client-side components required to execute a service request from anapplication. Because the SOA Toolkit auto-generates these components, the components are functionally equivalent across all supported languages. Initially, Siemens PLMSoftware provides bindings for C , .NET and Java.Teamcenter’sData ModelManagerPopulates and updates the client-side data store with objects returned fromTeamcenter’s Business Logic Server on each SOA service call. Object identity is maintained so that when an existing object is returned, its properties are updated in thedata store rather than creating a new/identical item.Data Model Manager is also responsible for maintaining the meta-model of type andproperty information. Optionally, it can fire events on object creation, deletion ormodifications. Client applications can register listeners for these events and react tothem as appropriate.Teamcenter’sClient Data Model(CDM)Generated from Teamcenter’s Data Model formally defined within Teamcenter’sBusiness Modeler/IDE, Teamcenter’s SOA supports two types of CDM for client application use – a generic model and a type-safe model.The generic model consists of simple objects and their properties. Utility functions areprovided to determine an object’s Teamcenter type, to query the type hierarchy and toaccess the characteristics of each property on an object.Derived from the generic model, the type-safe model adds strongly-typed accessors forall objects and their properties. This model’s class hierarchy matches Teamcenter’sBusiness Logic data model formally defined in Teamcenter’s Business Modeler/IDE. Theaccessors for each property return the language-specific equivalent of the nativeTeamcenter type of property.Issued by: Siemens PLM Software. 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.

8White Paper Teamcenter’s Service Oriented Architectureautotest frameworkClientTestTcFooService .xxxClient data modelClient service bindingTcBar .xxxFooRestBindingStub .xxWS PresentationClient binding managementFooService .xidEvent managementClient data model populatorFooService .xsdSchema binderWire schamaModel binderSchema binderService binderSOABase .xsdTcFooServie .xsdServerxsd bindingT2LServicesFooCorbaBindingSkelCore metamodelsvc implementationssvc definitionsFooImpl .cxxFoo .hxxCorebar .cxxFigure 2: Teamcenter SOA functional components.Issued by: Siemens PLM Software. 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.

9White Paper Teamcenter’s Service Oriented ArchitectureUsing Teamcenter’s SOA servicesLogical deployment architectureOrganizations typically deploy the Teamcenterenvironment using a four-tier logical architecture thatconsists of: Client application Web application server Enterprise Tier Resource TierFigure 3: Teamcenter SOA runtime deployment.Client application Most client applications, includingapplications developed by Siemens PLM Software andits partners, are language-based, rather than WSDLbased. As a result, they typically incorporate one ofTeamcenter’s SOA client libraries along with the CDM.Custom integrations developed using the WSDLapproach usually do not use client libraries or theCDM. Since both types of clients are HTTP/S based,they can easily and effectively access Teamcenteracross low or high latency network connections – aswell as securely traverse corporate firewalls withoutneeding to open additional application-specific portsin those firewalls.Web application server Teamcenter deploymentsuse web application servers to expose the SOA serviceendpoints for all client types. Both REST-style(standard HTTP POST) and SOAP-style requests aresupported by Teamcenter components executing onindustry-standard application servers, such asMicrosoft IIS, as well as servers based on Java andJ2EE technology. SOA Framework componentsrunning on these application servers are responsiblefor normalizing the request into a single commonformat, which is passed directly onto Teamcenter’sBusiness Logic Server that resides in the EnterpriseTier.Issued by: Siemens PLM Software. 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.

10White Paper Teamcenter’s Service Oriented ArchitectureApplicationsApplication integrationClassification : : ClassificationCore : : DocumentManagementDocumentManagement : : DocumentTemplatesProjectManagement : : ScheduleManagementRequirementsManagement : : RequirementsManagementAI : : AICAD : : DataManagementCAD : : StructureManagementApplication supportAllocations : : AllocationMultiSite : : ObjectDirectoryQuery : : SavedQueryMultiSite : : TransferReports : : BOMRollupWorkflow : : WorkflowReports : : CRFReportsStructureManagement : : RestructureStructureManagement : : GlobalAlternatesStructureManagement : : RedininingCalendarManagement : : CalendarManagementCore : : SessionCore : : DocumentManagementCore : : FileManagementCore : : ReservationCore : : ManagedRelationSystem administrationSystem definitionPlatformFigure 4: Teamcenter services functional areas.Enterprise Tier Teamcenter’s Business Logic Server –along with Teamcenter’s SOA server-side components, resides in the Enterprise Tier. All of the actualSOA services are implemented in C as part ofTeamcenter’s Business Logic Server.as well as the representative library and servicenames that pertain to key areas.Teamcenter’s SOA service areasAs the diagram illustrates, services are provided forfundamental needs (such as session and file management), for supporting capabilities (such as queriesand reporting), and for specialized services (such asPLM system definition and administration). Overtime, Siemens PLM Software will introduce additionallibraries and services for each of these areas –especially in the application and application supportareas.Teamcenter’s SOA services are organized into thefollowing six functional areas.Teamcenter’s SOA service invocationResource Tier The Resource Tier houses theTeamcenter database and bulk-data file repositories.No SOA components are part of the Resource Tier. Platform Application support Applications Application integration System administration System definitionEach of these functional areas is further broken downinto one or more libraries that contain the actualservices and operations exposed by Teamcenter’sBusiness Object Server. The accompanying diagramindicates how the six functional areas are organized,Before discussing how Teamcenter’s SOA services areinvoked, it is helpful to understand some of the basicprinciples that drive the design of Teamcenter’s SOAservices.First, Teamcenter’s SOA provides set-based services –meaning that virtually all services accept multipleinput objects that can be operated on by the BusinessLogic in a single call. On both inbound and outboundsides of a request/response cycle, it is advantageousto be able to submit or respond with more than oneitem at a time. This flexibility is especially importantwhen invoking services over high-latency wide-areanetwork connections.Issued by: Siemens PLM Software. 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.

11White Paper Teamcenter’s Service Oriented ArchitectureAdopting a set-based default design for all servicesalso supports a loose-coupling and infrequentcommunications pattern. At the same time, it reducesthe overall size of the service set by eliminating therequirement for both single item and multi-iteminterfaces for the same operation. A set-basedoperation can easily handle a set-of-one withoutrequiring a separate interface.Second, Teamcenter’s SOA services are coarsegrained services – meaning that they perform operations that, from a developer and end-user perspective, are relatively complete in and of themselves. Theservice consumer asks for something to be done andTeamcenter’s Business Logic Server does it. Teamcenter’s SOA services eliminate intermittent networkchatter that plagues many ordinary client/serverapplications.Siemens PLM Software designed Teamcenter’s SOAservices so that the response to a user operation (forexample, highlighting a set of objects or hitting the“delete” button) is performed in a single request/response cycle. In other architectures and systemdesigns, an operation like this might take hundreds ofrequest/response cycles to individually submit andacknowledge the deletion of each highlighted orselected object.Third, Teamcenter’s SOA services support the “partialerrors” concept – meaning that a set-based operationcan be only carried out on a subset of the input itemswhen an error condition arises. Again, drawing on the“delete” button example, if some of the itemsselected for deletion are locked or have outstandingdependencies or relationships, it often is neitherwise nor possible to delete these items as requested.In these cases, it is important to tell the serviceconsumer which items were not operated on and thereasons why. Efficient and consistent partial errorhandling is a crucial principle that drives Teamcenter’s SOA Framework and Business Logic Server – aswell as the client libraries and data model.Using Teamcenter’s SOAclient-side librariesRegardless of what specific language binding is usedin the application, developers perform the followingconsistent steps when they leverage Teamcenter’sSOA client-side libraries.Connection The client application first requests aconnection object, which contains the parametersthat can be used to connect to the server. The SOAclient framework instantiates the connection objectand returns it to the application – where subsequently it can be used to invoke appropriate services.Authentication Since Teamcenter is a secureenvironment, any service invocation must bepreceded by an authentication request. Successfulauthentication returns a token that is used on allservice requests across the established connection.Teamcenter’s SOA supports all Teamcenter authentication models, including single sign-on (SSO) andsynchronized LDAP.Service invocation Before invoking a service, theclient application must build the necessary inputstructures required by the service, as well as setparameters on each item being input as part of theset-based call. Once all of the data has been properlystructured, it is passed to a service stub for submission to the Business Logic Server.Over-the-wire The service stub works in conjunctionwith the SOA Framework to marshal the servicerequest into a REST XML document and sends it overHTTP/S to the Web Tier.Web Tier SOA Framework forwards the request to anavailable/assigned instance of the Business LogicServer.Enterprise Tier SOA Framework forwards the requestto the appropriate services skeleton, where the XMLdocument is un-marshaled. Then, the serviceendpoint or implementation is called and the service’sbusiness logic is executed. Once the business logic’sexecution is complete, the service skeleton marshalsthe results (including any information on exceptionsor partial failures) to a REST XML document andpasses it back through the Web Tier.Web Tier SOA Framework receives the serviceresponse and properly formats it for an HTTP/S POSTresponse.Client framework The service stub un-marshals theresponse, uses the SOA Framework to process it intothe Client Data Model (including any error information), and returns control to the client application.Using Teamcenter’s SOA fromWSDL-based applicationsWith just a few adjustments to the components, youcan use the same set of steps described above(in the “Using Teamcenter’s SOA client-side libraries”discussion) to invoke an SOA service from aIssued by: Siemens PLM Software. 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.

12White Paper Teamcenter’s Service Oriented ArchitectureWSDL-based web services application. These adjustments include the following differences.First, WSDL-based applications generally do not makeuse of the Teamcenter client-side libraries. Instead,they use utility functions within each of the majorweb services toolkits to automatically build thenecessary connection objects and input/outputstructures for a service directly from the Web ServicesDescription Language (WSDL). As you might expect,tools such as Microsoft’s Visual Studio can greatlyassist the developer by reading the WSDL for a serviceand auto-generating the necessary artifacts transparently.Second, the only other difference between the RESTand SOAP paths is the entry point into the Web Tier.Unlike the REST entry points (described earlier), theSOAP request is processed by the SOAP engine on theWeb Tier. The SOAP engine un-marshals the SOAPXML document and forwards it to the Web Servicesendpoint that is auto-generated by Teamcenter’s SOAToolkit.At the service endpoint, the request is marshaled to aREST XML document and routed to Teamcenter’sBusiness Logic Server in the same manner as the RESTexample described earlier. Information aboutwhether the request came through a SOAP endpointor a REST endpoint is never passed to the BusinessLogic Server. This practice helps ensure that serviceinnovations are always processed in the same mannerregardless what type of client invokes the request.Once the response is received, utilities in the webservices toolkit (i.e. in the toolkit is being used tobuild the client application) un-marshal the responseinto structures directly usable by the client application. Since the Client Data Model and the DataManager Model are part of the SOA Framework, noadditional processing is necessary for handling thebusiness objects returned on the response.Supported configurationsTeamcenter’s SOA services are fully supported on allstandard four-tier Teamcenter deployments asdiscussed throughout this white paper. In addition,Teamcenter’s SOA services also are supported inTeamcenter’s “two-tier” configuration sometimesused by Teamcenter users migrating up fromTeamcenter Engineering.Two-tier deployments combine the Teamcenter clientand a Business Logic Server instance on each enduser’s computer; the shared database and file storesremain on a centralized resource tier. Typically, thisconfiguration uses CORBA/IIOP communicationsrather than HTTP/S and eliminates the TeamcenterWeb Tier altogether. As a result, client implementations in this type of deployment must use one of thesupplied language binds rather than a WSDL-basedclient implementation.With respect to the service response, the Web Serviceendpoint returns control to the SOAP engine, where itis properly formatted for a SOAP-over-HTTP response.Issued by: Siemens PLM Software. 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.

13White Paper Teamcenter’s Service Oriented ArchitectureA final evaluationBy applying an effective SOA to their PLM processes,companies can support more business capabilities,reduce IT complexity and accelerate IT implementation – as well as re-use more applications (via webservices) and better align their PLM initiatives withother business activity.Teamcenter’s SOA services provide a robust, flexibleand highly-scalable interface into your digital designand development processes and their relatedinformation assets. The SOA’s secure, WAN-friendlyand firewall-friendly attributes are especially appropriate for meeting the most rigorous demands ofboth large and small companies.On the technical side, Teamcenter’s SOA is a stateof-the-art implementation that is based on – andcompliant with – the latest industry standardsfor web services interoperability. By adoptingTeamcenter as the backbone for your digital enterprise, you can immediately reap the benefits of webservices technology through an infrastructure thatfacilitates lower cost of ownership, as well as greatlyimproved integration between your business systemsand the technical systems that power your productdesign/development initiatives.Siemens PLM Software has initially focusedTeamcenter’s SOA on the robust capabilities and highperformance required to deliver a core architectureand service-based design capable of supporting bothlarge and small deployments. The services exposed byTeamcenter’s SOA cover a broad range of Teamcenterfunctionality with particular attention to streamliningyour product design and development processes.Future releases of Teamcenter’s SOA will add value toyour organization by exposing additional Teamcenterfunctions, supporting more language bindings,invoking additional tiers in the Teamcenter stack andfacilitating interoperation with other externalapplication offerings as these programs convergetoward accepted industry standards.Issued by: Siemens PLM Software. 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.

White Paper Teamcenter’s Service Oriented ArchitectureReferences1. Web Services Description Language (WSDL).Issued by: Siemens PLM Software. 2010. Siemens Product Lifecycle Management Software Inc. All righ

WS-x standards and best practices. SOA services also are accessible through numerous language-specific libraries that make it easy for programmers with C, C , C# and Java experience to incorporate Teamcen-ter functionality into new and existing applications. Why a service oriented architecture Teamcenter