Top Banner
Building an Adapter 1
18

Building an Adapter

Jan 02, 2016

Download

Documents

sybill-miranda

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 Presentation
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Building an Adapter

Building an Adapter

1

Page 2: Building an Adapter

Session Agenda

Review of CONNECT components

Project/source layout

Customization of adapter components

2

Page 3: Building an Adapter

Assumptions/Expectations

Familiarity with…

• Java

• Service Oriented Architecture (SOA)

• NetBeans

• GlassFishESB

3

Page 4: Building an Adapter

Review of CONNECT Components

4

Page 5: Building an Adapter

CONNECT ArchitectureMessages From NHIN

5

Page 6: Building an Adapter

CONNECT ArchitectureMessages to NHIN

6

Page 7: Building an Adapter

Project / Source Layout

7

Page 8: Building an Adapter

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

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

Project Creation Guidelines

»WIKI page describes the projects– http://developer.connectopensource.org/display/CONNECTWIKI/Proje

ct+Creation+Guidelines

10

Page 11: Building an Adapter

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

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

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

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

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

Customization of Adapter Components

16

Page 17: Building an Adapter

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

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