Title: Diciembre 2002
1Interoperabilidad e Integración
IIInteroperabilidad en .NETMSDN Regional
Director
2Interoperabilidad con .NET
- Acceso datos con .NET Data Providers
- Exponer componentes COM a .NET
- Exponer componentes .NET a COM
- Uso de Unmanaged DLLs
- Interoperabilidad con sistemas host
- Integración de procesos con Biztalk
- Interoperabilidad con Servicios Web XML
3Interoperabilidad con .NETAcceso a datos con
.NET Data Providers
Unmanaged Clients
.NET Managed Clients
ADO.NET
ADO
OLEDB .NET Data Provider
SQL Server .NET Data Provider
ODBC .NET Data Provider
COM Interop
OLEDB
ODBC
OLEDB Providers (SQL Server, Oracle, DB2, VSAM,
AS400, ODBC, ...)
Origen Datos ODBC
SQL Server 7 SQL Server 2000
DB2 VSAM AS400 ODBC
SQL Server 6.5 y anteriores
ORACLE
4Interoperabilidad con .NETLlamar un componente
COM desde .NET
5Cliente .NET Servidor COM
- Se puede generar el RCW con varias herramientas
de desarrollo - VS.NET References del proyecto
- SDK.NET TLBIMP.EXE
- Posible problema los objetos COM se destruyen
realmente cuando se realiza la recolección de
basura de su RCW! - Forzar System.GC.Collect
- Llamar a System.Runtime.InteropServices.Marshal.Re
leaseComObject - Enlace en tiempo de ejecución sólo si el objeto
COM implementa IDispatch. - Object Activator.CreateInstance(Type)
- Object Type.InvokeMember()
6Interoperabilidad con .NETLlamar un componente
.NET desde COM
7Por qué usar objetos .Net desde COM?
- Existen muchos clientes/host no manejados
- Internet Explorer
- Office XP
- Windows shell
- Visual Basic 6.0
- Objetos manejados en un host no manejado usan
interop - Los objetos .Net pueden ser accedidos de forma
sencilla por clientes manejados y no manejados
8COM Fácil
- El código manejado es la forma mas sencilla de
construir objetos COM - Cada objeto manejado es un objeto COM
- Tiene un class factory
- Tiene una type library
- Implementa IUnknown
- Implementa IDispatch
- Es CoCreatable
9Un objeto COM en código manejadoTan fácil como
123
- Escriba una Clase (manejada)
- Use TlbExp para producir una type library
- Use RegAsm para registrar el nuevo tipo
10Una comida gratisPara cada tipo, el CLR ofrece...
- Implementa los interfaces comunes
- IClassFactory, IUnknown, IDispatch, ITypeInfo
- Gestión del Marshaling de los interfaces
implementados - Generación de una type library
11 Pero todo tiene limites
- NO todas las caracterÃsticas del CLR son
interoperables - Métodos estáticos (shared) no son expuestos
- Constructores parametrizados no son expuestos
- Los métodos sobrecargados son renombrados
12Modificando los objetospara una mejor
interoperabilidad
- Se pueden utilizar los atributos para alterar la
forma en la que los tipos son expuestos - ComVisibileAttribute
- GuidAttribute
- DispIdAttribute
- ProgIdAttribute
- InterfaceTypeAttribute
- MarshalAsAttribute
- ClassInterfaceAttribute
13Registro
- Ejecute RegAsm sobre el assembly para crear las
entradas en el registro - Use /tlb para crear la type library
- Use /U para desregistrarlo
- Use /Regfile para crear un fichero .reg
- Use /Codebase para localizar el assembly por su
path
14Localizacion de Assemblies
- Los Assemblies son localizados en tiempo de
ejecución - En el Global Assembly Cache
- Requiere un strong name
- Instalado con GacUtil o un instalador
- Se aplica la polÃtica durante la carga
- En el directorio de la aplicación
- TÃpico para código no compartido
- Instalación con XCOPY
- Se aplica la polÃtica durante la carga
15Interoperabilidad con .NETInteroperabilidad COM
bidireccional
- .NET CLR ofrece interoperabilidad
- Ocultando la complejidad asociada a las llamadas
entre código managed y unmanaged. - Generando automaticamente código para trasladar
llamadas entre los entornos. - Framework .NET gestiona
- Soporte de early binding y late binding
- Conversión de tipos de datos.
- Gestión del tiempo de vida y referencias de
objetos. - Reglas de identidad de COM.
- Excepciones y manejo de errores.
16Interoperabilidad con .NETUsando Unmanaged APIs
desde .NET
- El acceso a Win32 DLLs se realiza con los
Platform Invocation Services (P/Invoke) - Localiza e invoca la función de la API.
- Realiza automaticamente las conversiones de
tipos. Se puede personalizar con el atributo
MarshalAs. - Ofrece soporte al mecanismo de Callback.
- Ejemplo de declaración en C
- using System.Runtime.InteropServices
- DllImport("user32.dll")
- public static extern int MessageBox(
- int hWnd, String text, string caption, uint
type)
17Interoperabilidad con .NETUso de Servicios COM
- Un componente .NET puede seguir utilizando
Servicios COM (transacciones, contexto,...) - Componente .NET Serviced Component
- Aplicación COM Enterprise Service
- Desde código, heredamos de clase base que
proporciona acceso a estos servicios - Imports System.EnterpriseServices
- Public Class Account
- Inherits ServicedComponent
- Para instalarlo, se registra el componente en el
catálogo COM, con la utilidad REGSVCS.
18Los Servicios de COM son
- Servicios MTS
- Transacción
- Seguridad
- Administración
- Además, Nuevos servicios
- Object Pooling
- Queued Components
- Events
- Others
- Auto Completion, Compensating Resource Managers
19Usando Servicios de COM En componentes .NET
- Componentes .NET pueden ser alojados en
Aplicaciones de Servicios COM - Pueden usar todos los servicios COM
- Transacciones
- Activación Just in Time
- Activity Synchronization
- Object Pooling
- Queued Components
- Events
- Etc.
20Usando Servicios de COM En componentes .NET
- Componentes .NET pueden ser alojados en
Aplicaciones de Servicios COM - Pueden usar todos los servicios COM
- Transacciones, Activación Just in Time,
Activity Synchronization, Object Pooling, Queued,
Components, Events, Etc. - Activados en un ObjectContext de COM
- Integración con aplicaciones ya existentes de
COM - El Contexto fluye entre componentes COM y
componentes .NET - Independiente del lenguaje de implementación
21Servicios EmpresarialesOrigen (COM)
- COM proporciona servicios empresariales
- .NET Enterprise Services proporcionan a las
Aplicaciones .NET acceso a servicios COM
22Servicios Empresariales Resumen de Servicios
disponibles
- Transacciones Distribuidas con B.D.
- Interoperabilidad con transacciones XA
- Object Pooling
- Activación Just-In-Time (JITA)
- Queued Components
- Eventos debilmente acoplados (LCE)
- Seguridad Basada el Roles
- Servicios SOAP de COM 1.5
23Servicios Empresariales Web Services
- Convierte una aplicación de componentes de
servicios empresariales en un Web-Service.
24Transacciones en .NET
- COM y MTS ofrecÃan soporte automático para
transacciones - Marcado de forma administrativa del nivel de
transacción - Consola de COM
- Las transacciones en .NET se realizan
aprovechando la interoperatividad con COM - Opciones
- Registrar objeto .NET como servidor COM
registrar como aplicación COM en el explorador - Utilizar la herramienta de .NET SDK REGSVCS.EXE
- Especificar requisitos en metadatos del objeto
.NET - Public Class ltTransactionAttribute(TransactionOpti
on.Required)gt Class1 - lt_at_page TransactionRequired gt
25Transacciones en .NET
- System.EnterpriseServices.ContextUtil
- Add Reference -gt System.EnterpriseServices.dll
- Utilizar métodos del objeto
- SetAbort
- SetComplete
- EnableCommit
- DisableCommit
- DeactivateOnReturn
- MyTransactionVote
- System.EnterpriseServices.AutoCompleteAttribute(Bo
olean)
26Interoperabilidad con .NETInteroperabilidad con
sistemas host
- Se estima que el 70 de los datos corporativos se
encuentran en sistemas del tipo IBM mainframe y
AS400. - Host Integration Server 2000 ofrece componentes
para la integración de sistemas host con
aplicaciones en plataforma .NET - Conectividad de red.
- Integración de Datos.
- Integración Aplicaciones.
- Componentes de Administración.
27Interoperabilidad con .NETInteroperabilidad con
sistemas host
HOST
- Integración de aplicaciones
28Interoperabilidad con .NETInteroperabilidad con
sistemas host
- Integración de aplicaciones con XML
29Interoperabilidad con .NETIntegración de
procesos con Biztalk Server
- Iniciativa Biztalk
- http//www.biztalk.org
- Biztalk Server permite definir e implementar
procesos de negocio - EAI. Integración entre aplicaciones internas.
- B2B. Procesos de negocio entre partners.
- Application Adapters
- Ariba, Commerce One, i2, J.D.Edwards, Oracle
Financials, SAP, Siebel,... - Technology Adaptes
- COM, CORBA, ebXML, EDI, HIPAA, HTTP, IMS, J2EE,
MQSeries, RosettaNet, TIBCO RendezVous, XML,...
30Interoperabilidad con .NETInteroperabilidad con
Servicios Web XML
- Lo que todo el mundo quiere es sencillo
- Una manera fácil de integrar a sus partners
comerciales (clientes, proveedores, ...) en su
proceso de negocio. - Un modo sencillo de describir e intercambiar
información. - El soporte de los nuevos estándares emergentes.
- Una solución flexible.
- Hay un consenso en la industria que apunta a los
Servicios Web XML como el fundamento de esta
nueva fase del desarrollo de internet. - Un Servicio Web XML es un componente que ofrece
datos y servicios a otras aplicaciones vÃa
protocolos web y formatos de intercambio de datos
estándar.
31Servicios WEB XML Introducción
Comunicación ubicua
Internet
XML
XML
Beneficios Automatización finalista compartir,
analizar y actuar sobre los datos
32BizTalk Server 2002Plataforma EAI y B2B
33BizTalk Server como EAIBackbone de Integración
Interna
Reducción de costes de operación
Menor coste de integración de aplicaciones
BizTalk Server
Acceso a datos unificados
Acceso a datos en tiempo real
34BizTalk Server como B2BGateway de Integración
Externa
BizTalk Server
35ArquitecturaMotor de Integración
Aplicación A
Aplicación B
Aplicación C
Adaptador
Adaptador Aplicación
Proceso Negocio
Messaging Bus
Declarative Routing
Content Based
Publish/Subscribe
Custom
XML
EDI
Flat
Adaptador Aplicación
Aplicación D
Aplicación E
Aplicación F
36BizTalk OrchestrationTecnologÃa
- Diseñar, construir y ejecutar interacciones
dinámicas de procesos de negocio - BizTalk Orchestration Designer
- Entorno visual para la definición de procesos de
negocio
37BizTalk Orchestration Designer Separación de
Definición e Implantación
38BizTalk Orchestration El motor XLANG Scheduler
- Componente COM
- WkFlow.SysMgr
- Responsable de ejecutar scripts XLANG
- Proporciona un interfaz para detener y reiniciar
instancias - Puede ser accesible programaticamente
39BizTalk OrchestrationCaracterÃsticas
- Servicios incorporados
- Secuencia, concurrencia y bifurcaciones
- TopologÃa de flujos dinámicos
- Integración y compensación de transacciones
- Persistencia
- Representación de procesos en esquema BD
- Administración y monitorización
- Integración
40BizTalk OrchestrationSecuencia, concurrencia y
bifurcaciones
41BizTalk Orchestration Transacciones
MS Market
HandleApprovalQuery
SubmitRequest
Receive Approval Status Update
Validate
Approve
Message toUser
Email User
Status toUnsubmited
SendEmail
Hold for Approval
Email User
ChangeStatus
Call ValidateSchedule
42BizTalk OrchestrationTransacciones
- Distributed Transaction Coordinator (MS DTC)
- Protocolo de ejecución en 2 fases (2PC)
43BizTalk OrchestrationTransacciones
- Transacciones COM
- Disabled
- Not Supported
- Supported
- Required
- Requires new
44BizTalk Server Messaging
MSMQ
Channels
45BizTalk Messaging Channel
- Configura los pasos de proceso
- Channel existe bajo un BizTalk Port
- Contiene las propiedades
- Origen (aplicación o Trading Partner)
- Configuración de recepción
- PolÃtica de verificación (firma y encriptación)
- Referencias a los documentos de entrada y salida
- Mapa de transformación
- Configuración de seguimiento (tracking)
- Selección de filtro
46BizTalk Server Messaging
XLANG
47BizTalk Messaging ServicesPort
- Abstracción de la localización del transporte
destino - Contiene información sobre cómo se intercambian
documentos dos entidades - Puede ser Open (basado en contenido)
- Encapsula
- Posibles objetivos múltiples
- Encriptación y Encoding
- Firma Digital
- Protocolo de transporte
- Información de seguimiento
- Envelope
48BizTalk Server MessagingDocumentos
Servicio BizTalk Server Messaging
49BizTalk MessagingHerramientas de Productividad
- Definir estructura de Documentos
- BizTalk Editor
- Transformación de documentos
- BizTalk Mapper
- Definir y Administrar socios de negocio
- BizTalk Messaging Manager
- Análisis de Datos
- BizTalk Document Tracking
- Administración del sistema
- BizTalk Admin Console
50BizTalk Server MessagingMessaging Manager
- Dirigido a
- Persona de negocio
- Analista IT
- Define las relaciones de negocio
- Integración con aplicaciones de negocio (LOB)
- Construye relaciones que se pueden utilizar con
aplicaciones BizTalk Orchestration
51BizTalk Server 2002 BizTalk Editor
- Define estructura de docs. de negocio
- Genera sintaxis XML
- XML/No-XML
- EDI-X12
- EDI- UN/EDIFACT
- Planos
- Plantillas
- De documentos
- Importar
- WF-XML
- DTD
- XDR Schema
52BizTalk Server 2002BizTalk Mapper
- Componente generador XSLT
- Crea Mapas
- Extensible
- Functoids
- Configurable por el usuario
- Script
- BYOF
- Zona de mapeo
- gráfico
53BizTalk Mapper Functoids
dstField1
srcField1
dstField2
srcField2
F
dstField3
srcField3
dstField4
srcField4
Functoid
Especificación Documento Origen
Especificación Documento Destino
54BizTalk Server 2002Seguimiento Actividad
documentos
- BD para almacenar mensajes, meta-datos
relacionados con BizTalk Orchestration además de
documentos - UI para seguimiento de mensajes y actividad
programada - API para acceso desde aplicaciones a la
información de seguimiento
55BizTalk Server 2002Document Tracking Tool
56BizTalk MessagingOpciones de EnvÃo
- Interfaz IInterchange
- Interfaz COM
- Soporta envÃos sÃncronos y asÃncronos
- Funciones de recepción
- BizTalk Server sondea una localización especÃfica
- Soporta carpetas del sistema de ficheros, colas
MSMQ, HTTP
57BizTalk Messaging Encaminamiento de Documentos
- IInterchange
- Canal
- Origen, Destino y/o Tipo de Documento
- Documento puede contener el Origen, Destino y/o
campos tipo de documento - Conocido como documento auto-encaminado
58BizTalk Messaging Interfaz IInterchange
- Submit ( Openness As BIZTALK_OPENNESS_TYPE,
- Document As String,
- DocName As String,
- SourceQualifier As String,
- SourceID As String,
- DestQualifier As String,
- DestID As String,
- ChannelName As String,
- FilePath As String,
- EnvelopeName As String,
- PassThrough As Boolean )
59BizTalk Messaging Funciones Recepción
60Componentes de Integración de Aplicaciones
(AIC)Qué son
- Componentes que permiten un post-proceso
personalizado de documentos
Biztalk Server 2000
AIC
Doc
Doc
Doc
Processing steps
Documento enviado
61Uso de Componentes de Integración de Aplicaciones
(AIC)
- Proporcionar conectividad con Aplicaciones de
Negocio (LOB) - Transporte personalizado
- Compresión
- Otros usos
62Tipos de Componentes de Integración de
Aplicaciones (AIC)
- IPipeline
- EnableDesign
- Execute
- IBTSAPPIntegration
- ProcessMessage
- Implantarlo en VC o VB
63Adaptadores de Aplicación
64Adaptadores de TecnologÃa
Active X Data Objects ADDS ADM11/H ADM11/P ADM11/R
ADM11/W AFP Ampex 230 ANSI ASCII BizTalk
Framework C API CICS / IMS Cifer
T205 Cobol COM CORBA Dec VT Deployment
DG 216 Document Archival EBCDIC EDI Flat
File FTP GALILEO HIPAA HL7 HP 700/92/2392A HTML HT
TP HTTPS IBM 3270 IBM 5250 IBM DB2/400 IBM DB2
UDB 6.1, 7.1 ICL 7561 ICL DRS-M10/M15
IMS IN2 SM9400j INS SM9400g Ingres J2EE Java Java
Beans JDBC JMS Loopback MDIS PRISM 8 /
9 Microsoft SQL Server 7.0 Microsoft SQL Server
2000 Microfusion MF-30 Monitoring MQ
Series MSMQ ODBC Oracle 8i, 7.3
Oracle 7.x, 8.x Oracle 9i Advanced Queuing P9
ANSI PC Monitor PDF Progress Database 8.3b,
9.0 PT200 QUME QVT RosettaNet SCO
ANSI SMTP Sybase TELEVIDEO 955 TVI
920 UML VIDEOTEXT WYSE 50/60 WYSE 50 XML
http//www.microsoft.com/biztalk/evaluation/adapte
rs/adapterslist.asp
65Forum de Desarrolladores CorporativosINTEROPERAB
ILIDAD E INTEGRACIÓN II Interoperabilidad en .NET