1 / 50

Insert Picture Here

Application Migration Agenda. Typical Client ApplicationsJDeveloper Application Migration Assistant Typical Middleware and Access Methods used to connect to RDBMSWeb ApplicationsMS Access ApplicationsDelphi ApplicationsESQL/C Applications. Application Migration Typical Client Applications . T

mieko
Download Presentation

Insert Picture Here

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


    3. Application Migration Agenda Typical Client Applications JDeveloper Application Migration Assistant Typical Middleware and Access Methods used to connect to RDBMS Web Applications MS Access Applications Delphi Applications ESQL/C Applications

    4. Application Migration Typical Client Applications Typical client software Visual Basic VC++ C# ESQL/C 4GL Access Delphi Web Applications Typical middleware ODBC ODBC + Access methods (DAO, RDO, ADO) OLE/DB .NET BDE Most applications connect to the RDBMS via some middleware. In Microsoft world, this is normally ODBC based although may be a layer above ODBC such as BDE or RDO. Most applications connect to the RDBMS via some middleware. In Microsoft world, this is normally ODBC based although may be a layer above ODBC such as BDE or RDO.

    5. Application Migration JDeveloper Application Migration Assistant Identifies and allows easy navigation between statements in the code that may require modification to work on the Oracle platform. Analyzes complete projects or single files. Generates an Analysis Report that summarizes project statistics. Uses regular expressions in XML format that provide a search rule capability to identify issues Allows rules to be customized so you can augment the search capability

    6. Application Migration ODBC drivers for Oracle Oracle ODBC www.oracle.com Microsoft ODBC www.eu.microsoft.com Datadirect ODBC www.datadirect.com

    7. Application Migration Microsoft ODBC Less supported functionality than Oracle’s No Built-in Scrollable Cursor Support ResultSets supported via PL/SQL Indexed by Arrays only (non transparent support)

    8. Application Migration Oracle ODBC Based on latest Oracle OCI Emulation capabilities Built-in Scroll Cursor ResultSets are supported transparently Supports an Array Interface Supports LOB The Oracle 8i ODBC driver supports most of the features of the database. Oracle also provides a free OLE/DB provider. Note that more recent versions of Oracle’s ODBC drivers than provided on the distribution CD are generally available from OTN.The Oracle 8i ODBC driver supports most of the features of the database. Oracle also provides a free OLE/DB provider. Note that more recent versions of Oracle’s ODBC drivers than provided on the distribution CD are generally available from OTN.

    9. Application Migration Datadirect ODBC Built-in Scroll Cursor ResultSets supported transparently Full LOB Support Supports an Array Interface Additional cost

    10. Application Migration ODBC Issues & parameters ODBC driver must support Oracle reference cursors if using stored Sub Programs with resultsets. Oracle and Datadirect ODBC driver do not require extra parameters for REF Cursors. ODBC PassThrough Mode will potentially require re-coding of SQL statements ODBC AutoCommit Parameter needs consideration ODBC array processing considerations Oracle ODBC Driver Rows Pre-Fetch parameter.

    11. Application Migration ODBC Example Our driver maps REF CURSORS to Result sets transparently, Using the same call against a SQL Server / Sybase TSQL Stored Sub Program And a converted Oracle PL/SQL Sub Program {call read_position (2)}

    12. Application Migration ODBC Extended SQL Syntax Use the ODBC extended SQL extensions to create generic SQL statements allows the ODBC driver to convert SQL syntax on the fly outer joins functions (date, time, timestamp,...) datatype conversions Oracle9i instroduces support for ANSI SQL including support for the CASE statement, ANSI compliant joins

    13. Application Migration ODBC extended SQL syntax The Oracle ODBC driver supports these syntactic transformation and helps to write portable SQL. However, Oracle9i now supports the same syntax as SQL Server.The Oracle ODBC driver supports these syntactic transformation and helps to write portable SQL. However, Oracle9i now supports the same syntax as SQL Server.

    14. Application Migration ODBC extended SQL syntax

    15. Application Migration ODBC extended SQL syntax

    16. Application Migration ODBC extended SQL syntax ODBC supports the following date/time/timestamp formats: Date {d ‘value’} “yyyy-mm-dd” Time {t ‘value’} “hh:mm:ss” Timestamp {ts ‘value’} “yyyy-mm-dd hh:mm:ss” ODBC supports the following date/time/timestamp formats: Date {d ‘value’} “yyyy-mm-dd” Time {t ‘value’} “hh:mm:ss” Timestamp {ts ‘value’} “yyyy-mm-dd hh:mm:ss”

    17. Application Migration Microsoft Access Methods - ODBC MS Access uses DAO only VB / SQL Server applications historically use RDO RDO cursor libraries provide support for scrolling cursors even if the ODBC driver does not (e.g. RDO client batch cursor library) make sure to select PK columns in the base SELECT statement ADO and .NET are the more recent access methods. Over time Microsoft has developed various access method. Each one whilst providing additional functionality being incompatible with the previous one. DAO was the first method developed followed by RDO and then ADO. Access still only uses DAO. Over time Microsoft has developed various access method. Each one whilst providing additional functionality being incompatible with the previous one. DAO was the first method developed followed by RDO and then ADO. Access still only uses DAO.

    18. Oracle provides an OLE/DB provider with the same level of functionality as its ODBC driver OO4O is an OLE server providing full native support for Oracle (written ib OCI) Available through VB Object and VC++ Class Proprietary Interface Do not confuse OO4O and OLE/DB Application Migration Microsoft Access Methods – OLE/DB Oracle Objects for OLE is a proprietary OLE Server for use by OLE compliant client applications. It is NOT OLEDB. It provides a familiar interface to VB and VC++ users whilst fully supporting the Oracle database through a native driver. Using Oracle Provider for OLE DB, VB/ADO application can scroll backward. Oracle also provides a free Provider for OLE DB. Oracle Objects for OLE is a proprietary OLE Server for use by OLE compliant client applications. It is NOT OLEDB. It provides a familiar interface to VB and VC++ users whilst fully supporting the Oracle database through a native driver. Using Oracle Provider for OLE DB, VB/ADO application can scroll backward. Oracle also provides a free Provider for OLE DB.

    20. MS applications tend to use Active Server Pages on the client. ASPs tend to use ADO to communicate to the Database backend although .NET ODP is now becoming common. Can be easily migrated to use the Oracle OLE/DB provider behind ADO ODBC also possible via OLE/DB provider for ODBC Could leave as is or migrate to JSP (Java Server Pages). Application Migration Web Applications

    21. Oracle9iAS Migration Kit for ASP

    22. Oracle9iAS Migration Kit for ASP Embrace Deploy the ASP application to Oracle9iAS Implement Oracle9iAS Web Cache to speed the delivery of both static and dynamic content Choose your deployment platform: Windows, Linux, Solaris and many others supported by Oracle9iAS Improve Take advantage of Oracle specific technology not available from ASP applications Allow ASP applications to integrate with J2EE applications Replace Migrate ASP applications to JSP applications Customers are no longer reliant on any Microsoft technology

    23. Oracle9iAS Migration Kit for ASP Current release version 1.2 supports Embrace and Improve. Future release to support Replace phase. Based on technology we licensed from Halcyon SoftwareBased on technology we licensed from Halcyon Software

    24. Migrate the structure and data of your Microsoft Access database(s) to an Oracle database Enable your unmodified Microsoft Access forms and reports to work with your Oracle database through an ODBC connection Avoid Attached Tables (DAO/Jet) for better performance ! Migrate both 16-bit Access 2.0 databases and 32-bit Access 7.0 databases Replaces the former Migration Assistant for MS Access Application Migration MS Access Applications Access Attached Oracle tables must use DAO via the jet engine. Better performance against Oracle is obtained by using directly ODBC from the Access Forms and Reports.Access Attached Oracle tables must use DAO via the jet engine. Better performance against Oracle is obtained by using directly ODBC from the Access Forms and Reports.

    25. Application Migration Delphi Applications Delphi 6 normally uses BDE Borland Database Engine (BDE) maps quite well to Oracle although performance is not good when run against >8i. Native access to Oracle should be used (e.g. CoreLab’s ODAC (http://www.crlab.com) (Oracle Data Access) – same as BDE but closer to Oracle (directly in OCI)S Borland Database Engine can be replaced in Delphi / Oracle projects by a third party product called ODAC from CoreLab (http://www.crlab.com/odac.html) This product provides the same functions as BDE, directly written in OCI. It is fast and transparent. For example, in BDE there are TQuery and TStoredProc objects. ODAC provides TOraQuery and TOraStoredProc with the same signature. One can use a system of conditional compilation to use ODAC when the engine is Oracle without changing the application logic. Borland Database Engine can be replaced in Delphi / Oracle projects by a third party product called ODAC from CoreLab (http://www.crlab.com/odac.html) This product provides the same functions as BDE, directly written in OCI. It is fast and transparent. For example, in BDE there are TQuery and TStoredProc objects. ODAC provides TOraQuery and TOraStoredProc with the same signature. One can use a system of conditional compilation to use ODAC when the engine is Oracle without changing the application logic.

    26. Application Migration Delphi Applications Use the BDE with native Oracle Driver, ODAC (preferably) or ADO. Use local Schema Cache Define Rowsetsize to use Arrayinterface Object Names should be in capital Letters Use Varchar2 Datatype in the Database Not portable SQL needs to be changed Outer Joins Select List Subqueries … Null Value Handling needs be checked

    27. Deployment Features Oracle IIS Proxy Plug-In Oracle Services for MTS Security Integration Directory Integration

    28. Common Deployment Scenarios The graphic above shows a typical transaction-based website using Oracle’s data access and middle-tier integration on Windows and the Oracle database. In the top layer lies the client tier where browser-based clients access transactional COM components in Active Server Pages (ASPs). These ASPs are accessed via the web server, Microsoft Internet Information Server (IIS). MTS and IIS both lie the application server in the middle-tier. Data access can occur through any of the following interfaces: OO4O, ADO/OLEDB, ODBC, OCI. The MTS-hosted COM business logic objects access Oracle databases in the bottom layer, the data tier. The Oracle database can be run on either UNIX or Windows. The connections to the databases are enlisted in MTS-initiated transactions via Oracle9i-MTS integration. Note that each application server instance is completely self-contained vis-a-vis Oracle-MTS enlistment and transaction completion, thereby scaling with the middle-tier. The graphic above shows a typical transaction-based website using Oracle’s data access and middle-tier integration on Windows and the Oracle database. In the top layer lies the client tier where browser-based clients access transactional COM components in Active Server Pages (ASPs). These ASPs are accessed via the web server, Microsoft Internet Information Server (IIS). MTS and IIS both lie the application server in the middle-tier. Data access can occur through any of the following interfaces: OO4O, ADO/OLEDB, ODBC, OCI. The MTS-hosted COM business logic objects access Oracle databases in the bottom layer, the data tier. The Oracle database can be run on either UNIX or Windows. The connections to the databases are enlisted in MTS-initiated transactions via Oracle9i-MTS integration. Note that each application server instance is completely self-contained vis-a-vis Oracle-MTS enlistment and transaction completion, thereby scaling with the middle-tier.

    29. Oracle 9iAS Proxy Plugin Goal Goals Enable customers to use IIS* or iPlanet with 9iAS No modifications to back-end applications The primary goal of the the proxy plug-in is to enable IIS and iPlanet to be used as web servers to front-end 9iAS based sites. This allows smoother deployment in organizations that have already standardized on other web servers – such as iPlanet or IIS. And it was desirable to not have to make any changes to the pre-existing (or new!) applications.The primary goal of the the proxy plug-in is to enable IIS and iPlanet to be used as web servers to front-end 9iAS based sites. This allows smoother deployment in organizations that have already standardized on other web servers – such as iPlanet or IIS. And it was desirable to not have to make any changes to the pre-existing (or new!) applications.

    30. Oracle 9iAS Proxy Plugin Features Converts IIS and iPlanet into reverse proxy servers URL partitioning to support multiple back-end servers Single Sign On Security support No application change required Certified with all Oracle 9iAS Release 2 components Licensing No additional cost for deployment Distributed on Integration CD and OTN Nothing new … just summarizing.Nothing new … just summarizing.

    31. Oracle 9iAS Proxy Plugin Architecture In this architecture diagram, the browser can only talk to IIS – and it cannot talk to any of the 9iAS components behind the firewall. I.e. the browser cannot talk to 9iAS-1 and 9iAS-2. The configuration file is read in by the plug-in – it tells the plug-in which back-end servers are available to route the requests to, and how to partition the URL among those backend servers. In particular, all requests that contain /portal will get sent to 9iAS-1, and those with /ifs will go to 9iAS-2. All requests with /j2ee will go to 9iAS-3. Everything else, will get handled by IIS.In this architecture diagram, the browser can only talk to IIS – and it cannot talk to any of the 9iAS components behind the firewall. I.e. the browser cannot talk to 9iAS-1 and 9iAS-2. The configuration file is read in by the plug-in – it tells the plug-in which back-end servers are available to route the requests to, and how to partition the URL among those backend servers. In particular, all requests that contain /portal will get sent to 9iAS-1, and those with /ifs will go to 9iAS-2. All requests with /j2ee will go to 9iAS-3. Everything else, will get handled by IIS.

    32. Proxy Plugin - Features Reverse Proxy Makes a HTTP v1.1 request of the backend server Sends the response - unaltered - to the requester Co-exist: Active Server Pages and J2EE apps Access both from the same corporate IIS listener Applies URL Name Space mapping Reads from configuration file at IIS startup Proxies to different servers based on configuration Multiple 9iAS Backends Beta / Production can be hosted from the same IIS The proxy plug-in converts IIS or iPlanet into reverse proxy servers, that talk http to the back-end OHS. It enables smoother deployment into existing environments by providing a way for J2EE (9iAS based) and asp to co-exist. By enabling different back-end servers to be the target of proxy, it allows different 9iAS servers to be set up for different purposes (either different departments, or staging/production) – all being served through the same corporate standard of IIS or iPlanet.The proxy plug-in converts IIS or iPlanet into reverse proxy servers, that talk http to the back-end OHS. It enables smoother deployment into existing environments by providing a way for J2EE (9iAS based) and asp to co-exist. By enabling different back-end servers to be the target of proxy, it allows different 9iAS servers to be set up for different purposes (either different departments, or staging/production) – all being served through the same corporate standard of IIS or iPlanet.

    33. Proxy Plug-in Security Features Single Sign On Integrates with Oracle 9iAS Release 2 SSO Server Makes IIS applications work with SSO too! All other backend 9iAS security mechanisms supported Client Information Client IP information forwarded to back-end 9iAS Client User Name information also forwarded Client Certificate information is not forwarded SSL Proxy plug-in uses http (not https) to Backend Server In addition, proxy plug-in integrates with the login server in 9iAS Release 2, and thus provides a better security model. Thus, in-house applications (including asp) that are not 9iAS based can still transparently use the single sign on capability offered by 9iAS. The client IP and username is forwarded to the back-end server. However, proxy plug-in does not communicate over SSL with the backend server and the certificate information is not sent to the backend server. In addition, proxy plug-in integrates with the login server in 9iAS Release 2, and thus provides a better security model. Thus, in-house applications (including asp) that are not 9iAS based can still transparently use the single sign on capability offered by 9iAS. The client IP and username is forwarded to the back-end server. However, proxy plug-in does not communicate over SSL with the backend server and the certificate information is not sent to the backend server.

    34. Deployment Features Oracle IIS Proxy Plug-In Oracle Services for MTS Security Integration Directory Integration

    35. Oracle Services for MTS Integrate Oracle databases with MS Distributed Transaction Coordinator (DTC) Oracle DB as resource manager in DTC transactions Oracle Services for MTS acts as a proxy between DTC and the Oracle DB OraMTS supports Oracle databases on any platform OraMTS itself runs on Windows

    36. Oracle Services for MTS OraMTS supported only by data access drivers provided by Oracle Supports OO4O, OCI, ADO/OLE DB, ODBC, .NET OO4O and OCI provide high performance, compatibility Transactional operations Enlistment and completion Recovery Connection pooling

    37. OraMTS Operations Enlistment Application requests that OraMTS enlist a connection OraMTS proxy joins transaction with DTC DTC generates transaction ID OraMTS starts Oracle global transaction Oracle uses transaction ID on connection

    38. OraMTS Operations Completion DTC calls proxy for two-phase commit operation Proxy relays commit operation to database Database performs commit operation Proxy relays outcome of commit operation to DTC DTC adjusts state of transaction (e.g. committed)

    39. OraMTS Operations Recovery Database recovery job checks for in-doubt transactions Recovery job requests outcome from recovery daemon through reenlistment Daemon queries DTC for outcome Recovery job commits/aborts the transaction

    40. OraMTS Architecture Architecture Each MTS instance has its own OraMTS instance No changes necessary for existing applications

    41. OraMTS Architecture Multiple proxies per database Higher performance, scalability, availability No single point of failure

    42. Oracle Services for MTS Optimizations Use a high-performing data access driver OCI is highest-performing Minimize use of Windows OS authentication Verifying Windows OS security credentials is resource intensive .NET support OraMTS can participate in transactions using any .NET programming language

    43. Deployment Features Oracle IIS Proxy Plug-In Oracle Services for MTS Security Integration Directory Integration

    44. Oracle wallets stored in Windows registry Improves security of wallets Oracle wallets in registry (user profile), rather than file system PKI single sign-on support with the registry Oracle Wallet Manager - encrypts Oracle Enterprise Login Assistant - decrypts Security Services

    45. Security Services Microsoft Certificate Store integration Oracle PKI and Windows PKI interoperate Oracle and non-Oracle apps use common Windows PKI credentials Wallet Resource Locator sets usage Oracle PKI uses Microsoft CryptoAPI PKI operations: signing, encryption, decryption, verification, and validation

    46. Deployment Features Oracle IIS Proxy Plug-In Oracle Services for MTS Security Integration Directory Integration

    47. Directory Services Enterprise security using native authentication and Active Directory Single sign-on through Kerberos/NTLM native authentication Oracle enterprise users and roles stored in AD Increase scalability, reduce administrative overhead Map Windows users/OUs/domains (X.509) to global users in database Map Windows groups to enterprise roles Manage enterprise roles in AD through Enterprise Security Manager

    48. Directory Services Oracle Net naming with Active Directory Store and resolve Net names through AD Eliminate tnsnames.ora on clients Centralize configuration, reduce administration Register databases with AD (LDAP naming) Enhanced tools support for storing Net naming Windows Explorer, AD Users and Computers Oracle DB Configuration Assistant, Net Manager, Net Configuration Assistant

    49. Deployment Features Oracle IIS Proxy Plug-In Oracle Services for MTS Security Integration Directory Integration

More Related