1 / 42

Extending ENOVIA SmarTeam with SOA Solutions: Develop Your Own SOA for SmarTeam

Extending ENOVIA SmarTeam with SOA Solutions: Develop Your Own SOA for SmarTeam. Michael S. Chan xLM Solutions, LLC. Your own SOA solutions to extend SmarTeam. + other business or engineering services and applications. Outline. What? SOA, Service, Contract, Endpoint? Why?

jadyn
Télécharger la présentation

Extending ENOVIA SmarTeam with SOA Solutions: Develop Your Own SOA for SmarTeam

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Extending ENOVIA SmarTeam with SOA Solutions: Develop Your Own SOA for SmarTeam Michael S. Chan xLM Solutions, LLC

  2. Your own SOA solutions to extend SmarTeam + other business or engineering services and applications

  3. Outline • What? • SOA, Service, Contract, Endpoint? • Why? • Benefits of an SOA • How? • Windows Communication Foundation (WCF) • A Basic WCF Service Example • A Simple Service • An Even Simpler Client • A SmarTeam SOA Service Example • Adding Support for SmarTeam • Debugging

  4. What is a Service-Oriented Architecture (SOA)? What?

  5. What is a Service? Service 1 • A self-contained, stateless entity that performs a certain business process • Services are provided by a Provider (Server) • Services are used by a Consumer (Client) Service 2 Client Service 3

  6. The Four Tenets of a Service Service A (talk to ERP) • Boundaries are explicit • Services are autonomous • Services share the Schema and Contract, not classes • Service compatibility is based on Policy Service B (talk to PLM) Client X Service C (talk to Shipping)

  7. Contracts • Establish explicit boundaries for the service • Three types of contracts: • Service Contract: exposes Service behavior (methods) • Data Contract: exposes persistent data • Message Contract: exposes custom message structure

  8. Why adopt an SOA? • A foundation for seamless Enterprise Information Integration (EII) • Open standards and messaging • A high degree of loose coupling and interoperability across platforms and technologies • Flexibility in software and hardware selections • Independent and boundary-explicit services • Allows for modulo development, deployment and maintenance • Increase the ROI by developing new services and applications based on existing software and business processes Why?

  9. Benefits of Extending SmarTeam with an SOA • Developed SmarTeam Services are expendable and reusable for future projects • Remote clients can run on systems with no SmarTeam installations • Clients of various levels of complexity may connect and consume the SmarTeam services • Different clients may consume different subsets of the SmarTeam services • A client may be built as • A standalone thin application • A plug-in for another software package (e.g., Outlook) • Part of a web page or site (e.g., a SharePoint web part)

  10. Microsoft Windows Communication Foundation (WCF) A service-oriented programming model and technology for developing distributed applications How to Implement an SOA? How?

  11. System Requirements • Microsoft Windows Communication Foundation (WCF) in .NET Framework 3.0 • Supports: • Windows XP SP2 (add-on) • Windows Server 2003 SP1 (add-on) • Windows Server 2003 R2 (add-on) • Windows Vista • Windows Server 2008 • Microsoft Visual Studio 2005 (SPx) or 2008 • May use C#, VB.NET, or other CLR-Compatible languages

  12. Hosting WCF Services • Self-hosting in any managed .NET application • Hosting in a standalone Windows service • Hosting in IIS ( Web Services) • WinXP: IIS 5.1 • Win2003/R2: IIS 6.0 • Vista/Win2008: IIS 7.0 (Windows Activation Service) • HTTP • TCP/IP • Named Pipes • MSMQ * *SmarTeam requirement

  13. A Basic WCF Service Example

  14. WCF Support in Visual Studio 2005

  15. WCF Support in Visual Studio 2005 VS2005

  16. WCF in VS2005 Service Contract Definition (Interface Definition) Service Class Definition (Business Process Logic) Data Contract Definition (Custom Data Class Definition)

  17. WCF in VS2005 Service Contract Data Contract

  18. WCF in VS2005 Service Contract Definition (Interface Definition) Service Class Definition (Business Process Logic) Data Contract Definition (Custom Data Class Definition)

  19. Setup Hosting on IIS

  20. Tips: Setup Service Project Output Directory

  21. Add Service Configuration File: STService.svc

  22. STService.svc

  23. Add web.config and Support for MetaData Exchange Services Behaviors

  24. Checking…So Far So Good

  25. Create a Console Client (Consumer)

  26. Adding a Console Client… • Add “app.config” and “BasicService.cs” to client project • Add System.ServiceModel and System.Runtime.Serialization • Change “Program.cs” to “ConsoleClient.cs” Run svcutil.exe in the client project directory to create “app.config” and “BasicService.cs”

  27. Building the Console Client

  28. A SmarTeam SOA Service Example

  29. Development Approach

  30. Tasks for this Example • Add a method to return a list of Super Classes in the current SmarTeam database • Obtain two names from each super class: • Name – internal • External name – friendly • Develop a custom data class [DataMember] for the output

  31. Using the SmarTeam Object Model and API

  32. Add a New Data Contract (Custom Data Class)

  33. Modify the WCF Service: Add SmarTeam Support • Instantiate a SmarTeam engine (FreeThreadedEngine) • Create new SmarTeam session • Initialize session with the engine • Connect session to a database • Log onto session > Perform Business Logic < • Log off SmarTeam • Close database connection • Close SmarTeam session • Terminate SmarTeam engine

  34. Modify the Service Code

  35. Console Client

  36. Unblock Windows Firewall for VS2005 Remote Debugger Service and Client Debugging

  37. Debugging Your SmarTeam Service(With Visual Studio Remote Debugger) On the remote system (where the Service is hosted)…

  38. Advanced Debugging

  39. Debugging Example… An Example Application…

  40. Other WCF Tools • SvcConfigEditor.exe • Create and modify configuration settings for WCF services • Manage settings for WCF bindings, behaviors, services, and diagnostics • SvcTraceViewer.exe • Helps analyze diagnostic traces generated by WCF listeners

  41. SmarTeam SOA Extension Considerations • A Service should be stateless • Create a new SmarTeam session (login,logoff) on each connection • Client provides authentication information • How to acquire the user name and password?

  42. Thank You! Try It Yourself and Have Fun! Questions? Script example shown is available at: http://www.xlmsolutions.com/sww2009/example.zip Michael S. Chan xLM Solutions, LLC. 517-410-6625 mchan@xlmsolutions.com

More Related