Accessing SAP and DB2 from  SharePoint Server 2007Yuval BirenboumCTOIntegration, SOA, BPM & ArchitectureSRL Group
How did we get here ?The Big Box ApplicationStand alone.Modules can import/export data but not dependentRepresented a complete end-to-end process by itself.  Asset ManagementInventoryAsset StatePartsAccountingOrderingSuppliesStock Control
How did we get here ?But Data Became “Real Time”Not acceptable to slowly import/export data between applications  Asset ManagementInventoryAsset StatePartsAccountingOrderingSuppliesStock Control
How did we get here ?The Distributed ApplicationThe Big BoxApplicationAsset ProcessInventoryAsset StatePartsDecompositionIncreased complexity
Reliability issues
Performance concerns
New security requirementsAccountingOrderingSuppliesStock Controldistributed interconnected systems and processes.
ChallengesEnterprises have huge investments in the SAP & DB2 PlatformUsers must regularly switch  between SAP and DB2 (Mainframe) applications to complete  their job tasksCurrent user interface:Cumbersome
Large learning curve
Hard to deployWhat are the Options?       RiskCostValueTransformations StrategiesRetireLeave it AloneModernizeReplaceEliminateAcquireIntegrateFreezeMigrateRewriteOutsource/ UpgradeHybrid
SolutionsA structured approachCONSUMEEXPOSECOMPOSEUse OOB MOSS features and custom code to create rich user experienceCreate composite services to simplify interactions with back end systemsExpose SAP/DB2 functions using well defined contracts
SolutionWeb Reporting(Table, Graph, Map etc)R/3 4.6c ~Siebel 7.5 ~Ad-hoc analysis on Excel pivot tableOracle 8.1.7 ~Budget managementand KPI dashboardDB2 (MVS,400,6000,Win) Collaboration workplaceOS/390, z/OS,OS/400, i5/OS
SolutionsBizTalk Adapters for ApplicationsBizTalk Business ProcessOrchestrationReceive LOBMessageLOBSystemReceiveLocationLOBIBM/SAPSystemIntegration TechnologySAP/DB2ClientSendMSMQMessageSendPortMSMQReceiveMSMQMessageBAHSSAP/DB2AdapterSend PortOperation / Receive LocationSendPortIBM/SAPAdapter SDKSendIBM/SAPMessageAdapter SDKBizTalkSendAdapterBizTalkReceive AdapterXMLMessageXMLMessageXMLMessageIncoming LOB DataOutgoing IBM/SAP DataBizTalk Send PipelineBizTalk Receive PipelineBizTalk Message Box
SolutionsMOSS: Providing Rich User ExperienceDisplay distilled business intelligence dataDeliver data via platform neutral (SOAP) Web ServicesSearch and discover indexed content from structured and unstructured data sourcesRender local data and content Embed third-party custom Web PartsRemotely consume SAP/DB2 content via the iView WebpartPull data registered  from the Business Data Catalog (BDC)Capture a remote page's HTML using the Page Viewer Web PartGrab a remote block of HTML via WSRP (platform neutral) consumptionRender data retrieved via a RSS feedDeliver and interact with XML data through DataViews
SolutionsWCF AdaptersSharePointServerASP.NET 2.0BizTalkServerSQLServerCustom .NETApplicationBizTalk WCFAdapterADO.NETProviderWCF Service Model        WCF             WCF Channel ModelAdapter SDKRuntimeAdapter SDKRuntimeAdapter SDKRuntimeAdapter SDKRuntimeWCF Transport(HTTP, TCP, …)SiebelAdapterIBM DB2AdapterAny LOBAdapterSAPAdapterWebServicesSAPSiebelIBMAny LOB System
Connectivity to SAPInteroperability mechanismsData integration.NET Data Provider for SAP BW.NET Data Provider for SAP (Adapter Pack)Service integrationEnterprise Services (WCF)RFC/BAPI (Adapter Pack)Portal integrationiViewWebParts
Connectivity to SAPService integration – BizTalk Adapter PackRFC/BAPI calls from .NET directlyCan be used with or without BizTalk Serverusing the following mechanisms:RFC/BAPI calls hosted in IISRFC/BAPI calls through BizTalk Server.NET Data Provider for SAP
MechanismSituationConnectivity to SAPBest practices– BizTalk Adapter PackWhen to useRFC/BAPI from .NETRFC/BAPI hosted in IISRFC/BAPI in BizTalk Server.NET Data Provider for SAPUse for .NET applications that need to access SAPUse for very fine-grained, low-latency servicesUse for complex, composite services. Use as a host when serving as RFC endpointUse for high performance, ETL type scenarios
Connectivity to DB2IBM Legacy Systems and DB2 Database ServersMicrosoft Windows and Enterprise Application PlatformOrchestrate WorkflowAnalyze and ReportPublish Web ServicesAccess TablesTables, Views, Stored ProceduresTables, Views, Stored ProceduresTables, Views, Stored ProceduresADO.NETBizTalk AdapterSQL Server and OfficeSQL CommandsCommand andRowsetSQL CommandsSQL CommandsCommand and DataSetSend/Receive XML DocumentDB2 for Open Platforms ServersOLE DB ProviderDB2 for z/OS Distributed Data Facility.NET DataProviderDB2 for i5/OSOptimized Server.NET DataProviderDRDA Application ServerDRDA Application ServerDRDA Application ServerDRDA Application ServerDRDA Application ServerDRDA Application Server
Connectivity to DB2Entity Provider for DB2Uses ADO.NET Data Provider for DB2Based on ADO.NET Entity FrameworkEnables Workflow Foundation scenariosCustom .NET applications and servicesOffice SharePoint ServerDesign entities over DB2 objectsTables, views, stored proceduresAllows publishing of AJAX web services and XML web services without writing code

Accessing sap and_mainframe_data_and_applications_via_share_point

  • 1.
    Accessing SAP andDB2 from  SharePoint Server 2007Yuval BirenboumCTOIntegration, SOA, BPM & ArchitectureSRL Group
  • 2.
    How did weget here ?The Big Box ApplicationStand alone.Modules can import/export data but not dependentRepresented a complete end-to-end process by itself. Asset ManagementInventoryAsset StatePartsAccountingOrderingSuppliesStock Control
  • 3.
    How did weget here ?But Data Became “Real Time”Not acceptable to slowly import/export data between applications Asset ManagementInventoryAsset StatePartsAccountingOrderingSuppliesStock Control
  • 4.
    How did weget here ?The Distributed ApplicationThe Big BoxApplicationAsset ProcessInventoryAsset StatePartsDecompositionIncreased complexity
  • 5.
  • 6.
  • 7.
    New security requirementsAccountingOrderingSuppliesStockControldistributed interconnected systems and processes.
  • 8.
    ChallengesEnterprises have hugeinvestments in the SAP & DB2 PlatformUsers must regularly switch between SAP and DB2 (Mainframe) applications to complete their job tasksCurrent user interface:Cumbersome
  • 9.
  • 10.
    Hard to deployWhatare the Options? RiskCostValueTransformations StrategiesRetireLeave it AloneModernizeReplaceEliminateAcquireIntegrateFreezeMigrateRewriteOutsource/ UpgradeHybrid
  • 11.
    SolutionsA structured approachCONSUMEEXPOSECOMPOSEUseOOB MOSS features and custom code to create rich user experienceCreate composite services to simplify interactions with back end systemsExpose SAP/DB2 functions using well defined contracts
  • 12.
    SolutionWeb Reporting(Table, Graph,Map etc)R/3 4.6c ~Siebel 7.5 ~Ad-hoc analysis on Excel pivot tableOracle 8.1.7 ~Budget managementand KPI dashboardDB2 (MVS,400,6000,Win) Collaboration workplaceOS/390, z/OS,OS/400, i5/OS
  • 13.
    SolutionsBizTalk Adapters forApplicationsBizTalk Business ProcessOrchestrationReceive LOBMessageLOBSystemReceiveLocationLOBIBM/SAPSystemIntegration TechnologySAP/DB2ClientSendMSMQMessageSendPortMSMQReceiveMSMQMessageBAHSSAP/DB2AdapterSend PortOperation / Receive LocationSendPortIBM/SAPAdapter SDKSendIBM/SAPMessageAdapter SDKBizTalkSendAdapterBizTalkReceive AdapterXMLMessageXMLMessageXMLMessageIncoming LOB DataOutgoing IBM/SAP DataBizTalk Send PipelineBizTalk Receive PipelineBizTalk Message Box
  • 14.
    SolutionsMOSS: Providing RichUser ExperienceDisplay distilled business intelligence dataDeliver data via platform neutral (SOAP) Web ServicesSearch and discover indexed content from structured and unstructured data sourcesRender local data and content Embed third-party custom Web PartsRemotely consume SAP/DB2 content via the iView WebpartPull data registered from the Business Data Catalog (BDC)Capture a remote page's HTML using the Page Viewer Web PartGrab a remote block of HTML via WSRP (platform neutral) consumptionRender data retrieved via a RSS feedDeliver and interact with XML data through DataViews
  • 15.
    SolutionsWCF AdaptersSharePointServerASP.NET 2.0BizTalkServerSQLServerCustom.NETApplicationBizTalk WCFAdapterADO.NETProviderWCF Service Model WCF WCF Channel ModelAdapter SDKRuntimeAdapter SDKRuntimeAdapter SDKRuntimeAdapter SDKRuntimeWCF Transport(HTTP, TCP, …)SiebelAdapterIBM DB2AdapterAny LOBAdapterSAPAdapterWebServicesSAPSiebelIBMAny LOB System
  • 16.
    Connectivity to SAPInteroperabilitymechanismsData integration.NET Data Provider for SAP BW.NET Data Provider for SAP (Adapter Pack)Service integrationEnterprise Services (WCF)RFC/BAPI (Adapter Pack)Portal integrationiViewWebParts
  • 17.
    Connectivity to SAPServiceintegration – BizTalk Adapter PackRFC/BAPI calls from .NET directlyCan be used with or without BizTalk Serverusing the following mechanisms:RFC/BAPI calls hosted in IISRFC/BAPI calls through BizTalk Server.NET Data Provider for SAP
  • 18.
    MechanismSituationConnectivity to SAPBestpractices– BizTalk Adapter PackWhen to useRFC/BAPI from .NETRFC/BAPI hosted in IISRFC/BAPI in BizTalk Server.NET Data Provider for SAPUse for .NET applications that need to access SAPUse for very fine-grained, low-latency servicesUse for complex, composite services. Use as a host when serving as RFC endpointUse for high performance, ETL type scenarios
  • 19.
    Connectivity to DB2IBMLegacy Systems and DB2 Database ServersMicrosoft Windows and Enterprise Application PlatformOrchestrate WorkflowAnalyze and ReportPublish Web ServicesAccess TablesTables, Views, Stored ProceduresTables, Views, Stored ProceduresTables, Views, Stored ProceduresADO.NETBizTalk AdapterSQL Server and OfficeSQL CommandsCommand andRowsetSQL CommandsSQL CommandsCommand and DataSetSend/Receive XML DocumentDB2 for Open Platforms ServersOLE DB ProviderDB2 for z/OS Distributed Data Facility.NET DataProviderDB2 for i5/OSOptimized Server.NET DataProviderDRDA Application ServerDRDA Application ServerDRDA Application ServerDRDA Application ServerDRDA Application ServerDRDA Application Server
  • 20.
    Connectivity to DB2EntityProvider for DB2Uses ADO.NET Data Provider for DB2Based on ADO.NET Entity FrameworkEnables Workflow Foundation scenariosCustom .NET applications and servicesOffice SharePoint ServerDesign entities over DB2 objectsTables, views, stored proceduresAllows publishing of AJAX web services and XML web services without writing code
  • 21.
    Connectivity to DB2ADO.NETData Provider for DB2OLE DB Provider for DB2BizTalk Adapter for DB2Improved performance (30%) on multi-core or multi-proc systems using data fetching with data conversion concurrencyServer auth encryption and data encryptionDatabase NameConnection and command timeout/cancelData Generator (internal supportability tool)
  • 22.
    SharePoint Server 2007Business data catalog with the BizTalk adapter packWeb PartsListsSearchUserProfilesCustomAppsListStoreSearchIndexProfileStoreMetadataBusiness Data CatalogADO.NETWS ProxyWeb ServiceData ProviderBizTalk Adapter PackBizTalk Adapter PackSAP/DB2
  • 23.
    SharePoint Server 2007 Interacting with SAP and DB2 dataCustom Web parts can provide a richer user experienceBusiness Data Catalog (BDC) can consume services with out of box Web partsSearch can index SAP/DB2 data and extend the reach of these applicationsForms server can provide fast data entry and workflowSilverlight can provide a rich, interactive experience
  • 24.
    MechanismSituationSharePoint Server 2007Providing Rich User ExperienceWhen to useBDCCustom Web PartsInfoPath/Forms ServerSilverlightSearchSimple interfaces with simple data structuresComplex interfaces that have complicated structures or require advanced functionalitySimple data collection through forms. Processes requiring workflowUse for rich, visually-oriented applicationsUsed to provide a unique experience for finding data
  • 25.
    Northwind Purchasing Process- Business ScenarioPurchasing ManagerPO ApproverBI/BAM ReportingPO RequestorVendorsPO Processing & Invoice Processingin BizTalkPO Request Workflow in SharePointVendor PO ServiceInternetInvoices Vendor Invoice ServiceERPBizTalk BAM
  • 26.
    BenefitsBringing data togetherin one placeMOSS provides a robust platform for deploying these composite applications to the massesComposite applications bring data from multiple systems or modules into one place using MOSSImproving that experience can often save your organization operational and training costsThe BizTalk Adapter Pack allows services that talk to SAP & DB2 to be created very quicklyUsers can now bring many screens into one; simpler process

Editor's Notes

  • #3 בעבר פיתחנו מערכות גדולות שניהלו את הדרישות העסקיות של מחקות שלמותלדוגמא מערכת ניהול משאבים במפעל שכללה גם אני ניהול ההזמנות, גם את המלאי, גם את הספקים של הרכיבים ועוד.המערכות היו בתצורת Stand Alone והתנהלו ללא שום תלות במידע או במערכות אחרות המערכות יכלו לייצא ולייבא נתונים ברמה יומית כל לילה אך פעלו גם בלי נתונים חדשים.המערכות ניהלו ברמת המחלקה תהליך עסקי מלא מקצה לקצה.
  • #4 בשלב מסוים אנשי המידע בארגונים דרשו לראות מידע בזמן אמת ולא ברמה יומיתואז בצורה טבעית... שקף הבא
  • #5 בוצע Decomposition של חלק מהמודלים במערכותעברנו ממערכות הרמת מחלקה לתהליכים ברמת ארגון על מערכות מבוזרות.קליקהאבולוציה הטבעית שהתרחשה כתוצאה מהדרישה לנתונים בזמן אמת יצרה סט של בעיות חדש :הגדלת הסיבוכיות של התהליכים שנובעת מ:קושי ניהולי - כיוון התהליכים מתרחשים במספר מערכות אין כלי ניהול אחד לתהליךטכנולוגיות שונות - פרוטורולים שונים, מבנה נתונים שונה, מבנה אובייקטלי שונה ועוד.הקטנת האמינות :אם בעבר היה מסד נתונים בודד לאפליקציה כעת יש לנו מספר מסדי נתונים, שרתים, מערכות הפעלה ונושא התקשורתביצועים - יותר תקשורת = יותר סרליזציות ברמת הקוד ויותר נקודות צוואר בקבוקדרישות אבטחה חדשות.לסיכום - עברנו מאפליקציה Stand Alone ל-Distributed system process.אבל מתצורת עבודה זאת נולדו עוד בעיות... קליק
  • #6 לארגון השקעות כספיות משמעותיות בפלטפורמותדומגתSAP ו-DB2 שקשה מאוד לחשוף לתהליכים.משתמשים נדרשים לעבור בין מסכי SAP ל-DB2 ולמערכות אחרות כדי לבצע תהליך.זמן הלימוד של המשתמשים והקושי בהטמעת שינויים מעיק על שינויים בשינוי התהליכים עם ההתפתחות העסקית.קליק
  • #7 הדבר שנדרש הינו שינוי אסטרטגיה.שינוי אסטרטגיה תמיד מערב שלושה גורמים שהם הסיכון, המחיר ומהו הערך הנוסף שמתקבל מהשינוי.ישנה תמיד האפשרות לשכתב את המערכות מה שיגדיל את המחיר ואת הסיכון אבל יתן האת הערך המוסף הגבוהה ביותר.קיימות עוד אסטרטגיות אבל הגישה שבה נתמקד היום היא שיטת האינטגרציה ברמות השונות בהתאם לבעיות שהוצגו.
  • #9 הפיתרון הכולל ברמה הטכנולוגית :חשיפת מערכות הליבה באמצעות ה-BizTalk Adapter Packשימוש ביכולות ה-EAI, B2B ו-ESB של BizTalk Server להפשטת האינטראקציה ע"י קומפוזיציה של המערכות שחשפנו.מימוש ממשק עבודה אחיד לבעלי תפקידים בארגון ו-Workflows אנושיים לביצוע תהליכים הדורשים התערבות של משתמשי הידע בארגון.
  • #10 הארכיטקטורה של ביזטוק ככלי EAI מאפשרת לנו יכולות כגון :כתיבתAdapter-ים מתאימים להתקשרות עם מערכות הליבה ע"י שימוש ב-BizTalk Adapter Packכתיבת Orchestrations לביצוע הקומפוזיציה התשתיתית בעבודה שבין מערכות הליבה.מימוש של טרנזקציות בתהליכים שבין מערכות הליבה וכל היכולות המוכרות האחרות לרבות BRE, BAM, מיפויים ועוד.
  • #11 ברמת ה-UI כדי לפתור את בעיית המעבר בין מערכות הליבה בעת מימוש תהליכים ומשימות ע"י משתמשי ידע בארגון נשתמש ב-MOSS ל:יצירת משטח עבודה מתאים המחבר בין כל רכיבי ה-UI השונים של מערכות הליבה למשטח אחיד ומתאים למשתמש.יצירת תהליכי עבודה בין הגורמים האנושיים בארגון.קיימות יכולות רבות נוספות לרבותגראפים ודוחות BAM שניתן להציג.לאנדקס ולחפש על מידע שמגיע ממערכות הליבה.קליק
  • #12 המודל הטבעי של שירות WCF חושף לנו Binding-ים בסיסיים כגון http, tcp ועוד.כיוון שמערכות ליבה כמו SAP אינן Service Oriented, הרעיון של ה-Adapter SDK הוא שניתן לפתח Transport חדש לפי ה-Metadata של המערכות השונות, אותו Transport ייחשף בתצורה סטאנדרטית כשירות WCF ויממש Fasade לאותן מערכות ליבה. התוצר הינו מעיין Daynamic Service למערכת ליבה.כמו שיש לנו פלאגים מפלטפורמות פיתוח שונות לתקשר עם שירותי WCF, יש לנו היום בצורה סטאנדרטית של עבודה עם WCF את היכולת לתקשר עם מערכות ליבה שעד כה היו לא ניגישות בצורה סטאנדרטית.עם BizTalk Server מגיעים כבר מימושים Out of the box עבור מערכות ליבה כגון SAP, Sieble, DB2, Oracle application ועוד.עבור מקרים שלא פותחו כבר ADAPTER-ים, תמיד ניתן לפתח בעצמנו בתצורה של Dependency Injection להכניס את המערכות החדשות לתהליכים הקיימים
  • #13 עבור תרחישיםETL-ים אנו נשתמש ב-.Net Data Provider עם ה-Integration Services [SSIS] כדי לדוגמא למשוך עדכונים מ-SAP ל-SQL Server למטרות של Reporting Services ו-BI.עובר נושאים של UI ניתן להשתמש ב-Web Part בשילוב עם ה-Adapter Pack ולקבל עדכונים על שינויים ב-SAP לתוך ה-Share Point.עובר תהליכי EAI ניתן לחשוף סכימות ולתקשר דרך האדפטר עם RFC, BAPI ו-RFCT.
  • #14 קיימות מספר אפשרויות שימוש ל-BizTalk Adapter Pack שלא מערבות את BizTalk Server אך יש להבין את ה-Use case של כל אפשרותקליק
  • #15 מאפליקציות Custom made נשתמש למקרים פשוטים של Get, Update, Insert & Delete בקריאה ישירה מהאפליקציה.באותה תצורה אנו יכולים גם לחשוף פונקציונאליות SAP-ית על ה-IIS כ-WS *** עבור מקרים של Low-Latency.עבור מקרים של עבודה מול מספר RFC-ים או BAPI-ים או שניהם, נשתמש ביכולות של BIZTALK ככלי לניהול תהליכים.עבור תהליכים ETL-ים של העברת מאסות גדולות של מידע נשתמש ב-Integration Services בתוך SSIS Packages.
  • #18 גם עבור DB2 לדוגמא קיימות מספר אפשרויות גישה בשימוש ב-BizTalk Adapter Pack כגון OLE DB, ADO.NET ו-BIZTALK*****
  • #19 ה-Business Data Catalog מאפשר להציף מידע עסקי למשתמש הקצה ללא כתיבת קוד.ה-Business Data Catalog מאפשר לנו להפיץ מידע ממקורות מידע כגון Web Services ו-Sql Serverואמצעות ה-BizTalk Adapter Pack מאפשר לנו גם להציף מידע ממערכות ליבה כגון SAP, Siebel, Oracle Applications, DB2 ועוד ישירות לפורטלים או לתהליכים האנושיים.ה-Metadata Database מחזיק נתונים כגון Connection Strings, שאילותות ועוד בעזרתם יכולים ה-Asset-ים ב-SP לתקשר עם אותם מקורות מידע.
  • #20 ה-Business Data Catalog בונה בעזרת ה-BizTalk Adapter Pack את ה-Contract עבור מערכות הליבה כך שאנו יכולים לעבוד על מערכות הליבה מתוך ה-Share Pointולאחד ממשקים של מספק מערכות לממשק אחד עבור משמש עסקיניתן לבצע תהליך Workflow ברמת ה-UIליצירת תהליכים אנושיים חוצי מערכות.ניתן לבצע אינדוקס על נתונים מתוך מערכות הליבה ולבצע חיפוש על נתוני מערכות הליבה.
  • #21 ב-Business Data Catalog נשתמש עבור מבני נתונים פשוטים להצגה ב-List-ים.Web Part נפתח עבור מבני נתונים סבוכים שדורשים Join ו-Union ועוד פונקציונאליות סבוכה.ב-Form Server נשתמש ליצירת תהליכים אנושיים בין בעלי תפקידים.ביכולות החיפוש נשתמש לביצוע חיפוש על מידעים.
  • #23 לסיכוםComposite Applications מאגדות מידע ממספר מערכות ליבה או מודלים ל-Dash Board מרכזי אחד בהתאם לדרישות בעל התפקידגישה זאת חוסכת לארגון זמן בביצוע תהליכים חוצי מערכות ע"י הכנסת כל המסכים למיקום מרכזי וזמן לימוד של מסכים שונים.גישה זאת באמצעות כלים כגון MOSS חוסכת זמן וכסף לארגונים באמצעות פלטפורמה רובסטית למימוש וDEPOLY של מערכות אילו.ביזטוק באמצעות ה-Adapter Pack מאפשר לנו את היכולת לתת מענה מלא גם בחשיפת מערכות הליבה וגם בתהליכים שבניהן שוב בצורה רובוסטית ומהירה.