Siemens PLM Teamcenter Service Oriented Architecture WP Tcm68 24383
Siemens PLM Teamcenter Service Oriented Architecture WP Tcm68 24383
Siemens PLM Teamcenter Service Oriented Architecture WP Tcm68 24383
Oriented Architecture
White Paper
Integrating Teamcenter-managed product design and
development with your mainstream business processes
Issued by: Siemens PLM Software. © 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.
White Paper | Teamcenter’s Service Oriented Architecture 2
Contents
Issued by: Siemens PLM Software. © 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.
White Paper | Teamcenter’s Service Oriented Architecture 3
Executive summary
The biggest challenge for today’s corporate IT • Embed Teamcenter-managed information and
organizations is to provide improved real-time status results into existing clients, portals and
visibility into their company’s business operations. IT executive dashboards.
leadership is especially concerned with managing the
• Integrate the Teamcenter portfolio and its
software application lifecycle and controlling its cost.
application solutions with diverse external
Research indicates that the vast majority of IT functionality, including CAD systems, collaborative
executives and other senior managers are convinced design management tools (such as Teamcenter’s
that a service oriented architecture (SOA) is the right own community collaboration capabilities),
technology approach for improving IT agility and manufacturing planning solutions (such as
lowering that portion of the IT budget (40 percent) Tecnomatix® software) and highly popular
associated with application integration. Increasingly business applications (such as Microsoft Office). As
companies are discovering that their business a result, you can establish a single cohesive
becomes more nimble and their processes become environment capable of supporting all of your
more flexible when they implement SOA as the digital lifecycle management initiatives.
technological foundation for key computing envi-
Teamcenter’s SOA is based on industry standards for
ronments (such as the product design and develop-
Web Services, primarily adhering to WS-1 and other
ment environment). Equally important, SOAs are
WS-x standards and best practices. SOA services also
able to facilitate these improvements with less IT
are accessible through numerous language-specific
intervention than was previously possible.
libraries that make it easy for programmers with C,
To address these rising IT requirements, Siemens PLM C++, C# and Java experience to incorporate Teamcen-
Software has developed an SOA infrastructure for ter functionality into new and existing applications.
Teamcenter, Siemens PLM Software's flagship
software for facilitating product lifecycle manage-
ment (PLM) and supporting the PLM-driven business Why a service oriented architecture
processes adopted by its customer base. is important
Teamcenter is industry’s most widely used PLM
solution with an integrated suite of applications that Teamcenter’s SOA services provide new capabilities
leverage technologies such as 3D visualization, that allow you to deploy higher performing and more
community collaboration, supplier management and scalable WAN-friendly and firewall-friendly applica-
collaborative product data management (cPDM) to tions in a Teamcenter environment. Because these
drive business productivity. capabilities adhere to industry standards and
established best practices, Teamcenter services are
Teamcenter’s SOA services provide a new coarse- now accessible to a wider development community.
grained interface to Teamcenter’s Business Logic
Server. Teamcenter’s SOA services represent Siemens In turn, wider accessibility increases the likelihood-
PLM Software’s go-forward strategy for enabling that more robust and comprehensive services will
client and external applications to access a evolve at a faster rate. Similarly, the worldwide
Teamcenter-managed environment. These services development community will be able to access and
can be used to: leverage these services without having to learn how
to use a proprietary language or protocol; no special
• Integrate Teamcenter capabilities into your training is required.
existing business processes, as well as for creating
custom, task-specific client programs.
Issued by: Siemens PLM Software. © 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.
White Paper | Teamcenter’s Service Oriented Architecture 4
Issued by: Siemens PLM Software. © 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.
White Paper | Teamcenter’s Service Oriented Architecture 5
What is a service oriented architecture? Teamcenter’s SOA embodies all of these principles
and characteristics. It is built upon a framework
A service oriented architecture is a system design consisting of the entire client and service infrastruc-
pattern that emphasizes the following attributes – ture that contributes to consistent, reliable and high-
along with other considerations: performance interaction between the application
clients, service consumers and Teamcenter Business
• Appropriate functional granularity appropriate to
Logic Server (the service provider in this scenario).
the task at hand
This framework enables application developers to
• Separation of the interface definition from its
concentrate on creating specific business functional-
implementation ity rather than worrying about the low-level
• Support for the concept of service providers and communications and data management activities
service consumers who are distinct from each going on beneath them.
other Teamcenter’s SOA characteristics reflect two addi-
• Standards-driven compliance tional factors:
Issued by: Siemens PLM Software. © 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.
White Paper | Teamcenter’s Service Oriented Architecture 6
Issued by: Siemens PLM Software. © 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.
White Paper | Teamcenter’s Service Oriented Architecture 7
In addition to these major components, Teamcenter’s The relationships between the environment and its
SOA environment also includes documentation on major components are illustrated in Figure 2.
each of the language bindings, WSDL and various
The accompanying table describes the major compo-
XML Schema Definitions (XSDs) used throughout the
nents in Teamcenter’s SOA in more detail.
system.
SOA Framework Consists of the client-side libraries, as well as the communications infrastructure and
Key capabilities for a best-practice portfolio management solution
server-side libraries that make up a full-featured request/response pipeline. All SOA
Framework components are auto-generated by the SOA Toolkit and are completely
opaque to both the author of the service and consumer of the service.
SOA Language Represents the client-side components required to execute a service request from an
Bindings application. Because the SOA Toolkit auto-generates these components, the compo-
nents are functionally equivalent across all supported languages. Initially, Siemens PLM
Software provides bindings for C++, .NET and Java.
Teamcenter’s Populates and updates the client-side data store with objects returned from
Data Model Teamcenter’s Business Logic Server on each SOA service call. Object identity is main-
Manager tained so that when an existing object is returned, its properties are updated in the
data store rather than creating a new/identical item.
Data Model Manager is also responsible for maintaining the meta-model of type and
property information. Optionally, it can fire events on object creation, deletion or
modifications. Client applications can register listeners for these events and react to
them as appropriate.
Teamcenter’s Generated from Teamcenter’s Data Model formally defined within Teamcenter’s
Client Data Model Business Modeler/IDE, Teamcenter’s SOA supports two types of CDM for client applica-
(CDM)
tion use – a generic model and a type-safe model.
The generic model consists of simple objects and their properties. Utility functions are
provided to determine an object’s Teamcenter type, to query the type hierarchy and to
access the characteristics of each property on an object.
Derived from the generic model, the type-safe model adds strongly-typed accessors for
all objects and their properties. This model’s class hierarchy matches Teamcenter’s
Business Logic data model formally defined in Teamcenter’s Business Modeler/IDE. The
accessors for each property return the language-specific equivalent of the native
Teamcenter type of property.
Issued by: Siemens PLM Software. © 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.
White Paper | Teamcenter’s Service Oriented Architecture 8
autotest framework
Client
TestTcFooService .xxx
Client data model Client service binding
Schema binder
Wire schama
Model binder Schema binder Service binder
SOABase .xsd
TcFooServie .xsd
Server
xsd binding
T2LServices
FooCorbaBindingSkel
bar .cxx
Issued by: Siemens PLM Software. © 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.
White Paper | Teamcenter’s Service Oriented Architecture 9
• Enterprise Tier
• Resource Tier
Client application Most client applications, including Web application server Teamcenter deployments
applications developed by Siemens PLM Software and use web application servers to expose the SOA service
its partners, are language-based, rather than WSDL endpoints for all client types. Both REST-style
based. As a result, they typically incorporate one of (standard HTTP POST) and SOAP-style requests are
Teamcenter’s SOA client libraries along with the CDM. supported by Teamcenter components executing on
Custom integrations developed using the WSDL industry-standard application servers, such as
approach usually do not use client libraries or the Microsoft IIS, as well as servers based on Java and
CDM. Since both types of clients are HTTP/S based, J2EE technology. SOA Framework components
they can easily and effectively access Teamcenter running on these application servers are responsible
across low or high latency network connections – as for normalizing the request into a single common
well as securely traverse corporate firewalls without format, which is passed directly onto Teamcenter’s
needing to open additional application-specific ports Business Logic Server that resides in the Enterprise
in those firewalls. Tier.
Issued by: Siemens PLM Software. © 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.
White Paper | Teamcenter’s Service Oriented Architecture 10
Application support
Allocations : : Allocation MultiSite : : ObjectDirectory
Query : : SavedQuery MultiSite : : Transfer
Reports : : BOMRollup Workflow : : Workflow
Reports : : CRFReports System administration
StructureManagement : : Restructure
StructureManagement : : GlobalAlternates
StructureManagement : : Redinining System definition
CalendarManagement : : CalendarManagement
Platform
Core : : Session
Core : : DocumentManagement
Core : : FileManagement
Core : : Reservation
Core : : ManagedRelation
Enterprise Tier Teamcenter’s Business Logic Server – as well as the representative library and service
along with Teamcenter’s SOA server-side compo- names that pertain to key areas.
nents, resides in the Enterprise Tier. All of the actual As the diagram illustrates, services are provided for
SOA services are implemented in C++ as part of fundamental needs (such as session and file man-
Teamcenter’s Business Logic Server. agement), for supporting capabilities (such as queries
Resource Tier The Resource Tier houses the and reporting), and for specialized services (such as
Teamcenter database and bulk-data file repositories. PLM system definition and administration). Over
No SOA components are part of the Resource Tier. time, Siemens PLM Software will introduce additional
libraries and services for each of these areas –
especially in the application and application support
Teamcenter’s SOA service areas areas.
Issued by: Siemens PLM Software. © 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.
White Paper | Teamcenter’s Service Oriented Architecture 11
Adopting a set-based default design for all services client framework instantiates the connection object
also supports a loose-coupling and infrequent and returns it to the application – where subse-
communications pattern. At the same time, it reduces quently it can be used to invoke appropriate services.
the overall size of the service set by eliminating the
Authentication Since Teamcenter is a secure
requirement for both single item and multi-item
environment, any service invocation must be
interfaces for the same operation. A set-based
preceded by an authentication request. Successful
operation can easily handle a set-of-one without
authentication returns a token that is used on all
requiring a separate interface.
service requests across the established connection.
Second, Teamcenter’s SOA services are coarse- Teamcenter’s SOA supports all Teamcenter authenti-
grained services – meaning that they perform opera- cation models, including single sign-on (SSO) and
tions that, from a developer and end-user perspec- synchronized LDAP.
tive, are relatively complete in and of themselves. The
Service invocation Before invoking a service, the
service consumer asks for something to be done and
client application must build the necessary input
Teamcenter’s Business Logic Server does it. Teamcen-
structures required by the service, as well as set
ter’s SOA services eliminate intermittent network
parameters on each item being input as part of the
chatter that plagues many ordinary client/server
set-based call. Once all of the data has been properly
applications.
structured, it is passed to a service stub for submis-
Siemens PLM Software designed Teamcenter’s SOA sion to the Business Logic Server.
services so that the response to a user operation (for
Over-the-wire The service stub works in conjunction
example, highlighting a set of objects or hitting the
with the SOA Framework to marshal the service
“delete” button) is performed in a single request/
request into a REST XML document and sends it over
response cycle. In other architectures and system
HTTP/S to the Web Tier.
designs, an operation like this might take hundreds of
request/response cycles to individually submit and Web Tier SOA Framework forwards the request to an
acknowledge the deletion of each highlighted or available/assigned instance of the Business Logic
selected object. Server.
Third, Teamcenter’s SOA services support the “partial Enterprise Tier SOA Framework forwards the request
errors” concept – meaning that a set-based operation to the appropriate services skeleton, where the XML
can be only carried out on a subset of the input items document is un-marshaled. Then, the service
when an error condition arises. Again, drawing on the endpoint or implementation is called and the service’s
“delete” button example, if some of the items business logic is executed. Once the business logic’s
selected for deletion are locked or have outstanding execution is complete, the service skeleton marshals
dependencies or relationships, it often is neither the results (including any information on exceptions
wise nor possible to delete these items as requested. or partial failures) to a REST XML document and
In these cases, it is important to tell the service passes it back through the Web Tier.
consumer which items were not operated on and the
Web Tier SOA Framework receives the service
reasons why. Efficient and consistent partial error
response and properly formats it for an HTTP/S POST
handling is a crucial principle that drives Teamcen-
response.
ter’s SOA Framework and Business Logic Server – as
well as the client libraries and data model. Client framework The service stub un-marshals the
response, uses the SOA Framework to process it into
the Client Data Model (including any error informa-
Using Teamcenter’s SOA tion), and returns control to the client application.
client-side libraries
Regardless of what specific language binding is used Using Teamcenter’s SOA from
in the application, developers perform the following WSDL-based applications
consistent steps when they leverage Teamcenter’s
SOA client-side libraries. With just a few adjustments to the components, you
can use the same set of steps described above
Connection The client application first requests a
(in the “Using Teamcenter’s SOA client-side libraries”
connection object, which contains the parameters
discussion) to invoke an SOA service from a
that can be used to connect to the server. The SOA
Issued by: Siemens PLM Software. © 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.
White Paper | Teamcenter’s Service Oriented Architecture 12
WSDL-based web services application. These adjust- Once the response is received, utilities in the web
ments include the following differences. services toolkit (i.e. in the toolkit is being used to
build the client application) un-marshal the response
First, WSDL-based applications generally do not make
into structures directly usable by the client applica-
use of the Teamcenter client-side libraries. Instead,
tion. Since the Client Data Model and the Data
they use utility functions within each of the major
Manager Model are part of the SOA Framework, no
web services toolkits to automatically build the
additional processing is necessary for handling the
necessary connection objects and input/output
business objects returned on the response.
structures for a service directly from the Web Services
Description Language (WSDL). As you might expect,
tools such as Microsoft’s Visual Studio can greatly
assist the developer by reading the WSDL for a service
Supported configurations
and auto-generating the necessary artifacts transpar-
ently. Teamcenter’s SOA services are fully supported on all
standard four-tier Teamcenter deployments as
Second, the only other difference between the REST discussed throughout this white paper. In addition,
and SOAP paths is the entry point into the Web Tier. Teamcenter’s SOA services also are supported in
Unlike the REST entry points (described earlier), the Teamcenter’s “two-tier” configuration sometimes
SOAP request is processed by the SOAP engine on the used by Teamcenter users migrating up from
Web Tier. The SOAP engine un-marshals the SOAP Teamcenter Engineering.
XML document and forwards it to the Web Services
endpoint that is auto-generated by Teamcenter’s SOA Two-tier deployments combine the Teamcenter client
Toolkit. and a Business Logic Server instance on each end-
user’s computer; the shared database and file stores
At the service endpoint, the request is marshaled to a remain on a centralized resource tier. Typically, this
REST XML document and routed to Teamcenter’s configuration uses CORBA/IIOP communications
Business Logic Server in the same manner as the REST rather than HTTP/S and eliminates the Teamcenter
example described earlier. Information about Web Tier altogether. As a result, client implementa-
whether the request came through a SOAP endpoint tions in this type of deployment must use one of the
or a REST endpoint is never passed to the Business supplied language binds rather than a WSDL-based
Logic Server. This practice helps ensure that service client implementation.
innovations are always processed in the same manner
regardless what type of client invokes the request.
With respect to the service response, the Web Service
endpoint returns control to the SOAP engine, where it
is properly formatted for a SOAP-over-HTTP response.
Issued by: Siemens PLM Software. © 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.
White Paper | Teamcenter’s Service Oriented Architecture 13
A final evaluation
By applying an effective SOA to their PLM processes, facilitates lower cost of ownership, as well as greatly
companies can support more business capabilities, improved integration between your business systems
reduce IT complexity and accelerate IT implementa- and the technical systems that power your product
tion – as well as re-use more applications (via web design/development initiatives.
services) and better align their PLM initiatives with
Siemens PLM Software has initially focused
other business activity.
Teamcenter’s SOA on the robust capabilities and high
Teamcenter’s SOA services provide a robust, flexible performance required to deliver a core architecture
and highly-scalable interface into your digital design and service-based design capable of supporting both
and development processes and their related large and small deployments. The services exposed by
information assets. The SOA’s secure, WAN-friendly Teamcenter’s SOA cover a broad range of Teamcenter
and firewall-friendly attributes are especially appro- functionality with particular attention to streamlining
priate for meeting the most rigorous demands of your product design and development processes.
both large and small companies.
Future releases of Teamcenter’s SOA will add value to
On the technical side, Teamcenter’s SOA is a state- your organization by exposing additional Teamcenter
of-the-art implementation that is based on – and functions, supporting more language bindings,
compliant with – the latest industry standards invoking additional tiers in the Teamcenter stack and
for web services interoperability. By adopting facilitating interoperation with other external
Teamcenter as the backbone for your digital enter- application offerings as these programs converge
prise, you can immediately reap the benefits of web toward accepted industry standards.
services technology through an infrastructure that
Issued by: Siemens PLM Software. © 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.
White Paper | Teamcenter’s Service Oriented Architecture 14
References
Issued by: Siemens PLM Software. © 2010. Siemens Product Lifecycle Management Software Inc. All rights reserved.
About Siemens PLM Software