building an adapter
DESCRIPTION
Building an Adapter. Session Agenda. Review of CONNECT components Project/source layout Customization of adapter components. Assumptions/Expectations. Familiarity with… Java Service Oriented Architecture (SOA) NetBeans GlassFishESB. Review of CONNECT Components. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/1.jpg)
Building an Adapter
1
![Page 2: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/2.jpg)
Session Agenda
Review of CONNECT components
Project/source layout
Customization of adapter components
2
![Page 3: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/3.jpg)
Assumptions/Expectations
Familiarity with…
• Java
• Service Oriented Architecture (SOA)
• NetBeans
• GlassFishESB
3
![Page 4: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/4.jpg)
Review of CONNECT Components
4
![Page 5: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/5.jpg)
CONNECT ArchitectureMessages From NHIN
5
![Page 6: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/6.jpg)
CONNECT ArchitectureMessages to NHIN
6
![Page 7: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/7.jpg)
Project / Source Layout
7
![Page 8: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/8.jpg)
Source Code Directory Structure
DIRECTORY DESCRIPTION
C:\projects\NHINC\Current\ProductContains master ant script that compiles the CONNECT gateway and adapter
C:\projects\NHINC\Current\Product\Production
This project will contain sub folders that separate the code by its primary location (i.e. Common, Gateway, Adapter)
C:\projects\NHINC\Current\Product\Production\Adapter CONNECT adapter source
C:\projects\NHINC\Current\Product\Production\CommonSource used by both gateway and adapter
C:\projects\NHINC\Current\Product\Production\Gateway CONNECT gateway source
C:\projects\NHINC\Current\ThirdPartyContains third party libraries needed to compile
8
![Page 9: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/9.jpg)
Project Naming Conventions
PROJECTS ENDING IN… TYPE OF PROJECT
Web POJO Web Services
Lib Java library
Proxy Spring Component Proxy Projects
DAOData Access (Note some data access objects are defined as Lib)
GUI Web application
EJB or EjbEnterprise java bean (mainly in ESC – not many left)
9
![Page 10: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/10.jpg)
Project Creation Guidelines
»WIKI page describes the projects– http://developer.connectopensource.org/display/CONNECTWIKI/Proje
ct+Creation+Guidelines
10
![Page 11: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/11.jpg)
Special Projects
PROJECT/DIRECTORY PURPOSE
Common\InterfacesContains all of the WSDL and schemas that are being used within CONNECT
Common\Properties
Contains property files and configuration files that are used within CONNECT (These are used in: C:\Sun\AppServer\Domains\Domain1\Config andC:\Sun\AppServer\Domains\Domain1\Config\Nhin
11
![Page 12: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/12.jpg)
Web Service WSDL File Naming Conventions
12
» First part identifies the type of service
– Adapter: Services on the adapter
– Entity: Services on the gateway which are called by the adapter
– Nhinc: Services on the gateway that are internal to the gateway
– Nhin: NHIN services hosted or called by the CONNECT gateway
» If “component” identified in second part…
– NhincComponent: Identifies internal components to the gateway
– AdapterComponent: Identifies services on the Adapter Service Bus
• Used to customize an adapter service
– EntityComponent: Identifies gateway internal services which orchestrate a message
» Adapter/Entity interfaces may contain word Secured/Unsecured
– Identifies whether the interface represents the secured or unsecured interface
» Rest of the name identifies the service
» Example
– AdapterComponentSecuredMPI.wsdl
![Page 13: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/13.jpg)
XML Schema Layout and Naming Conventions
» Directory: Interfaces\src\schemas
» First level of hierarchy: identifies organization or type of schemas
» schemas\nhinc: CONNECT schemas
» schemas\nhinc\common: used in gateway and adapter
» schemas\nhinc\gateway: used in gateway
» schemas\nhinc\hl7: schemas to combine HL7 messages
13
![Page 14: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/14.jpg)
Connection Manager
»Manages endpoint URLs – NHIN services
– Replaceable services
»Two points of configuration– UDDI
• UDDI Update Manager service
• uddiConnectionInfo.xml: CONNECT service information cache
– Do not modify this file by hand
– Internal• Used to override UDDI settings – settings here take precedence over UDDI
• Used for non UDDI supported services
• internalConnectionInfo.xml
14
![Page 15: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/15.jpg)
Example internalConnectionInfo.xml
<?xml version="1.0" encoding="UTF-8"?>
<InternalConnectionInfos>
<internalConnectionInfo>
<homeCommunityId>1.1</homeCommunityId>
<name>DoD</name>
<description>DoD Description</description>
<services>
<service>
<name>subjectdiscovery</name>
<description>subjectdiscovery</description>
<endpointURL>
https://localhost:8181/PIXConsumer_Service/SubjectDiscovery
</endpointURL>
</service>
<service>
<name>nhincsubjectdiscovery</name>
<description>NHIN-CONNECT Internal Subject Discovery</description>
<endpointURL>
http://localhost:9080/NhinConnect/NhincSubjectDiscovery
</endpointURL>
</service>
</services>
</internalConnectionInfo>
</InternalConnectioninfos>
15
![Page 16: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/16.jpg)
Customization of Adapter Components
16
![Page 17: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/17.jpg)
Adapter Service Bus Components
COMPONENT WSDL
Document Repository AdapterDocRetrieveSecured.wsdl
Document Registry AdapterDocQuerySecured.wsdl
MPI AdapterComponentSecuredMpi.wsdl
Policy EngineAdapterPolicyEngineSecured.wsdl (or)AdapterPolicyEngineOrchestrator.wsdl
Subscription Repository AdapterComponentSubscriptionRepository.wsdl
Subscription Management AdapterSubscriptionManagementSecured.wsdl
Notification AdapterNotificationConsumerSecured.wsdl
Document Submission (XDR) AdapterComponentXDRSecured.wsdl
XDR Async Request AdapterXDRRequestSecured.wsdl
XDR Async Response AdapterXDRResponseSecured.wsdl
Re-identification AdapterSubjectDiscoverySecured.wsdl
17
![Page 18: Building an Adapter](https://reader031.vdocument.in/reader031/viewer/2022032414/5681336f550346895d9a8381/html5/thumbnails/18.jpg)
Steps for Customizing an Adapter Component
Create a Web Service that implements the correct WSDL
Deploy the web service
Update internalConnectionInfo.xml with the URL for the customized WSDL
18