{"id":191,"date":"2005-01-08T11:54:38","date_gmt":"2005-01-08T11:54:38","guid":{"rendered":"http:\/\/osmeusapontamentos.com\/?p=191"},"modified":"2005-01-08T11:54:38","modified_gmt":"2005-01-08T11:54:38","slug":"integracao-progress-net","status":"publish","type":"post","link":"https:\/\/osmeusapontamentos.com\/index.php\/2005\/01\/08\/integracao-progress-net\/","title":{"rendered":"Integra\u00e7\u00e3o Progress \/ .NET"},"content":{"rendered":"<p><a href=\"http:\/\/www.progress.com\/progress\/exchange\/post_2004\/technical_sessions\/c1530.ppt\">Building an EDI Hub using AS2, OpenEdge? 10 and .NET<\/a><br \/>\nTechnical issues<br \/>\n.ASP.NET does not release the AppServer ? fixed in 10.0B<br \/>\n.Occasional random disconnections<br \/>\n.Some lapses in integration with .NET tools e.g. flaws in data binding<br \/>\n.Issues with number of rows returned<br \/>\nOther issues<br \/>\nBe aware of OpenEdge 10 licensing before you embark on a project<br \/>\nInterfacing to .NET<br \/>\n.ProxyGen creates a .NET Managed Assembly<br \/>\n.This is imported into .NET along with some standard Progress .DLLs<br \/>\n.NET can now see the business logic methods plus the standard methods that are part of the ProDataSet<br \/>\n.NET sees the ProDataSet as an ADO.NET data set, so can databind with it<br \/>\n<!--more--><br \/>\n<a href=\"http:\/\/www.progress.com\/progress\/exchange\/post_2004\/technical_sessions\/c1910.ppt\">Creating a Dynamic .NET Client for OpenEdge? 10<\/a><br \/>\nThe OpenEdge 10<br \/>\nOpen Client Toolkit<br \/>\n.There were many problems with the .NET proxy during the beta<br \/>\n.Therefore we started with a Web services approach<br \/>\n.The .NET proxy problems were eventually fixed in OpenEdge 10.0A SP1<br \/>\n.However, the .NET proxy will not run with AIA until OpenEdge 10.0B<\/p>\n<p>.NET communication<br \/>\n.ProxyGen generates an .dll file<br \/>\n.This is a so-called .NET assembly (compiled library)<br \/>\n.It enables the .NET program to communicate with the Progress AppServer<br \/>\n.The data traffic is exactly the same as native Progress<br \/>\n.Uses standard HTTP\/S and AIA<\/p>\n<p>Web Service approach<br \/>\n..NET natively supports Web services<br \/>\n.ProxyGen generates a .wsdl file and a .wsm file<br \/>\n.The WSDL file describes the Web service (API and location)<br \/>\n.The .wsm file is needed to deploy the Web service<br \/>\n.Communication is standard XML over HTTP\/S<\/p>\n<p>Initial approach: Web Services<br \/>\nNot very efficient<br \/>\nBut it worked<br \/>\nUses standard HTTP\/S and WSA<br \/>\nImposes some limitations on the data traffic<br \/>\nThere is no state (?state-free?)<\/p>\n<p>Drawback of Web Services<br \/>\n.A Web service is not very efficient for this purpose because it has too much overhead<br \/>\n.AppServer calls are converted to XML and wrapped in SOAP messages<br \/>\n.Ideal for occasional inter-application communication<br \/>\n.Not ideal for running a single application over the Internet<\/p>\n<p>Using ProxyGen<br \/>\n.Define the server-side procedures that you want to expose in ProxyGen<br \/>\n.For Web services, it is better NOT to use SubAppObjects<br \/>\n.Choose a Namespace for your Web service<br \/>\n.Choose a SOAP message format (RPC\/Encoded best matches the 4GL)<\/p>\n<p>Conclusions<br \/>\n.The principle works<br \/>\n.Switch to .NET proxy as soon as possible<br \/>\n..NET proxy with AIA supported in OpenEdge 10.0B<br \/>\n.Figure out and solve all incompatibilities<br \/>\n.Handle the unknown value<br \/>\n.Add new functionality on the client<br \/>\n.Create support for client-side .NET code<\/p>\n<p><a href=\"http:\/\/www.progress.com\/progress\/exchange\/post_2004\/technical_sessions\/c1930.ppt\">.NET Open Client &#8211; Progress? DataSet and ADO.NET DataSet<\/a><br \/>\nThe .NET Open Client is designed from the ground up to support Progress DataSets and ADO.NET DataSets<br \/>\nThe best way to leverage the power of the .NET Open Client is to use DataSets<\/p>\n<p><a href=\"http:\/\/www.progress.com\/progress\/exchange\/post_2004\/technical_sessions\/c1980.ppt\">The Nuts and Bolts of a .NET Open Client Implementation<\/a><br \/>\nUsing .NET Open Client versus Web Services<br \/>\n*Use .NET Open Client<br \/>\nControl both client and server environments<br \/>\n.NET client<br \/>\nProDataSets map naturally to ADO.NET<br \/>\nPurposed protocol = better performance<br \/>\n*Use Web Services<br \/>\nControl server environment only<br \/>\nUnknown clients<br \/>\nComplex data represented in XML<br \/>\nCaution: XML can be expensive, HTTP chatty<\/p>\n<p>.NET Open Client Development Model<br \/>\nDevelop 4GL business logic \/ data access &#8211; Progress AppServer<br \/>\nUse ProxyGen to generate .NET proxy &#8211; Fully managed .NET proxy classes<br \/>\nDevelop .NET client &#8211; Any .NET language; Use generated .NET proxy classes<br \/>\nDeploy .NET client &#8211; Proxy assembly, .NET Open Client Runtime<br \/>\nNET client calls proxy methods &#8211; Instantiate .NET proxy objects; Call methods using .NET data types<br \/>\nProxy sends request to the AppServer &#8211; Uses the .NET Open Client Runtime; Optimized wire protocol<br \/>\nAppServer sends response back to proxy &#8211; Proxy maintains context for the AppServer<br \/>\nPreparing for .NET Open Client<\/p>\n<p>Requirements:<br \/>\nVersion 9 AppServer or higher &#8211; Business logic must run on the AppServer<br \/>\nVisual Studio .NET and .NET Framework &#8211; Choose your .NET language<br \/>\nThe OpenEdge .NET Open Client &#8211; Available in OpenEdge Release 10<\/p>\n<p><a href=\"http:\/\/www.progress.com\/progress\/exchange\/post_2004\/technical_sessions\/d1560.ppt\">.NET Client Architectures for OpenEdge? Applications<\/a><\/p>\n<p><a href=\"http:\/\/www.peg.com\/lists\/\">PROGRESS E-Mail Group<\/a><\/p>\n<p>formas de aceder ao progress<br \/>\nOpenEdge .NET Interfaces &#8211; AppServer and Database access to the .NET Framework; The OpenEdge Application?s logic is encapsulated as business objects. The business object?s logic is accessible to the .NET application written in C#<br \/>\nor VB .NET<\/p>\n<p>Progress Dynamics for .NET &#8211; Dynamic generation and rendering of a .NET UI from the Dynamics repository. In Progress Dynamics, an option for a<br \/>\n.NET User Interface Single design ? multiple interfaces .NET UI from the same repository definitions as GUI, WebClient and DHMTL<\/p>\n<p>http:\/\/www.peg.com\/lists\/dotnet\/web\/msg00091.html<br \/>\nYes, you can have OE10 based proxies call a V9 AppServer.  You just cannot use any of the new OE10 data types.<\/p>\n<p>http:\/\/www.peg.com\/lists\/dotnet\/web\/msg00017.html<br \/>\nOur application is DLC version 9.1D05. That&#8217;s the version that compiles and runs the r code.<br \/>\nI have installed OpenEdge 10, so I can create dotnet proxies for procdures that are actually running in a version 9 appserver.<\/p>\n<p>http:\/\/www.peg.com\/lists\/dotnet\/web\/msg00039.html<br \/>\nOur appserver is still DLC91D (with some service packs).<br \/>\nI have installed OE10 to be able to generate a .NET proxy, and now we have a .NET application that successfully receives data from the DLC91D appserver.<br \/>\nVery nice.<\/p>\n<p>http:\/\/www.peg.com\/lists\/dotnet\/web\/msg00153.html<br \/>\nProgress 9.1D does not offer ProDataSets, which are available in OpenEdge 10.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Building an EDI Hub using AS2, OpenEdge? 10 and .NET Technical issues .ASP.NET does not release the AppServer ? fixed in 10.0B .Occasional random disconnections .Some lapses in integration with .NET tools e.g. flaws in data binding .Issues with number of rows returned Other issues Be aware of OpenEdge 10 licensing before you embark on [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,10],"tags":[12,538,539],"class_list":["post-191","post","type-post","status-publish","format-standard","hentry","category-ler-ver-ouvir-passear","category-worklife","tag-net","tag-programar","tag-progress"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Integra\u00e7\u00e3o Progress \/ .NET - Os Meus Apontamentos<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/osmeusapontamentos.com\/index.php\/2005\/01\/08\/integracao-progress-net\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Integra\u00e7\u00e3o Progress \/ .NET - Os Meus Apontamentos\" \/>\n<meta property=\"og:description\" content=\"Building an EDI Hub using AS2, OpenEdge? 10 and .NET Technical issues .ASP.NET does not release the AppServer ? fixed in 10.0B .Occasional random disconnections .Some lapses in integration with .NET tools e.g. flaws in data binding .Issues with number of rows returned Other issues Be aware of OpenEdge 10 licensing before you embark on [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/osmeusapontamentos.com\/index.php\/2005\/01\/08\/integracao-progress-net\/\" \/>\n<meta property=\"og:site_name\" content=\"Os Meus Apontamentos\" \/>\n<meta property=\"article:published_time\" content=\"2005-01-08T11:54:38+00:00\" \/>\n<meta name=\"author\" content=\"Vitor Silva\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@vitorsilva\" \/>\n<meta name=\"twitter:site\" content=\"@vitorsilva\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Vitor Silva\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/index.php\\\/2005\\\/01\\\/08\\\/integracao-progress-net\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/index.php\\\/2005\\\/01\\\/08\\\/integracao-progress-net\\\/\"},\"author\":{\"name\":\"Vitor Silva\",\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/#\\\/schema\\\/person\\\/d508df9c3ffc8b4e64a18dbf0ba18dd8\"},\"headline\":\"Integra\u00e7\u00e3o Progress \\\/ .NET\",\"datePublished\":\"2005-01-08T11:54:38+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/index.php\\\/2005\\\/01\\\/08\\\/integracao-progress-net\\\/\"},\"wordCount\":887,\"publisher\":{\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/#\\\/schema\\\/person\\\/d508df9c3ffc8b4e64a18dbf0ba18dd8\"},\"keywords\":[\".net\",\"programar\",\"progress\"],\"articleSection\":[\"Ler\\\/ Ver\\\/ Ouvir\\\/ Passear\",\"Programa\u00e7\u00e3o\"],\"inLanguage\":\"pt-PT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/index.php\\\/2005\\\/01\\\/08\\\/integracao-progress-net\\\/\",\"url\":\"https:\\\/\\\/osmeusapontamentos.com\\\/index.php\\\/2005\\\/01\\\/08\\\/integracao-progress-net\\\/\",\"name\":\"Integra\u00e7\u00e3o Progress \\\/ .NET - Os Meus Apontamentos\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/#website\"},\"datePublished\":\"2005-01-08T11:54:38+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/index.php\\\/2005\\\/01\\\/08\\\/integracao-progress-net\\\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/osmeusapontamentos.com\\\/index.php\\\/2005\\\/01\\\/08\\\/integracao-progress-net\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/index.php\\\/2005\\\/01\\\/08\\\/integracao-progress-net\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"In\u00edcio\",\"item\":\"https:\\\/\\\/osmeusapontamentos.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Integra\u00e7\u00e3o Progress \\\/ .NET\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/#website\",\"url\":\"https:\\\/\\\/osmeusapontamentos.com\\\/\",\"name\":\"Os Meus Apontamentos\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/#\\\/schema\\\/person\\\/d508df9c3ffc8b4e64a18dbf0ba18dd8\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/osmeusapontamentos.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/osmeusapontamentos.com\\\/#\\\/schema\\\/person\\\/d508df9c3ffc8b4e64a18dbf0ba18dd8\",\"name\":\"Vitor Silva\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f81f58ad909e8a213ab0a690f6ed65e5c0e0e2274bf35ac49ff31d7988d483ce?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f81f58ad909e8a213ab0a690f6ed65e5c0e0e2274bf35ac49ff31d7988d483ce?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f81f58ad909e8a213ab0a690f6ed65e5c0e0e2274bf35ac49ff31d7988d483ce?s=96&d=mm&r=g\",\"caption\":\"Vitor Silva\"},\"logo\":{\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/f81f58ad909e8a213ab0a690f6ed65e5c0e0e2274bf35ac49ff31d7988d483ce?s=96&d=mm&r=g\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/vitormrsilva\",\"https:\\\/\\\/x.com\\\/vitorsilva\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Integra\u00e7\u00e3o Progress \/ .NET - Os Meus Apontamentos","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/osmeusapontamentos.com\/index.php\/2005\/01\/08\/integracao-progress-net\/","og_locale":"pt_PT","og_type":"article","og_title":"Integra\u00e7\u00e3o Progress \/ .NET - Os Meus Apontamentos","og_description":"Building an EDI Hub using AS2, OpenEdge? 10 and .NET Technical issues .ASP.NET does not release the AppServer ? fixed in 10.0B .Occasional random disconnections .Some lapses in integration with .NET tools e.g. flaws in data binding .Issues with number of rows returned Other issues Be aware of OpenEdge 10 licensing before you embark on [&hellip;]","og_url":"https:\/\/osmeusapontamentos.com\/index.php\/2005\/01\/08\/integracao-progress-net\/","og_site_name":"Os Meus Apontamentos","article_published_time":"2005-01-08T11:54:38+00:00","author":"Vitor Silva","twitter_card":"summary_large_image","twitter_creator":"@vitorsilva","twitter_site":"@vitorsilva","twitter_misc":{"Escrito por":"Vitor Silva","Tempo estimado de leitura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/osmeusapontamentos.com\/index.php\/2005\/01\/08\/integracao-progress-net\/#article","isPartOf":{"@id":"https:\/\/osmeusapontamentos.com\/index.php\/2005\/01\/08\/integracao-progress-net\/"},"author":{"name":"Vitor Silva","@id":"https:\/\/osmeusapontamentos.com\/#\/schema\/person\/d508df9c3ffc8b4e64a18dbf0ba18dd8"},"headline":"Integra\u00e7\u00e3o Progress \/ .NET","datePublished":"2005-01-08T11:54:38+00:00","mainEntityOfPage":{"@id":"https:\/\/osmeusapontamentos.com\/index.php\/2005\/01\/08\/integracao-progress-net\/"},"wordCount":887,"publisher":{"@id":"https:\/\/osmeusapontamentos.com\/#\/schema\/person\/d508df9c3ffc8b4e64a18dbf0ba18dd8"},"keywords":[".net","programar","progress"],"articleSection":["Ler\/ Ver\/ Ouvir\/ Passear","Programa\u00e7\u00e3o"],"inLanguage":"pt-PT"},{"@type":"WebPage","@id":"https:\/\/osmeusapontamentos.com\/index.php\/2005\/01\/08\/integracao-progress-net\/","url":"https:\/\/osmeusapontamentos.com\/index.php\/2005\/01\/08\/integracao-progress-net\/","name":"Integra\u00e7\u00e3o Progress \/ .NET - Os Meus Apontamentos","isPartOf":{"@id":"https:\/\/osmeusapontamentos.com\/#website"},"datePublished":"2005-01-08T11:54:38+00:00","breadcrumb":{"@id":"https:\/\/osmeusapontamentos.com\/index.php\/2005\/01\/08\/integracao-progress-net\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/osmeusapontamentos.com\/index.php\/2005\/01\/08\/integracao-progress-net\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/osmeusapontamentos.com\/index.php\/2005\/01\/08\/integracao-progress-net\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"In\u00edcio","item":"https:\/\/osmeusapontamentos.com\/"},{"@type":"ListItem","position":2,"name":"Integra\u00e7\u00e3o Progress \/ .NET"}]},{"@type":"WebSite","@id":"https:\/\/osmeusapontamentos.com\/#website","url":"https:\/\/osmeusapontamentos.com\/","name":"Os Meus Apontamentos","description":"","publisher":{"@id":"https:\/\/osmeusapontamentos.com\/#\/schema\/person\/d508df9c3ffc8b4e64a18dbf0ba18dd8"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/osmeusapontamentos.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":["Person","Organization"],"@id":"https:\/\/osmeusapontamentos.com\/#\/schema\/person\/d508df9c3ffc8b4e64a18dbf0ba18dd8","name":"Vitor Silva","image":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/secure.gravatar.com\/avatar\/f81f58ad909e8a213ab0a690f6ed65e5c0e0e2274bf35ac49ff31d7988d483ce?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/f81f58ad909e8a213ab0a690f6ed65e5c0e0e2274bf35ac49ff31d7988d483ce?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/f81f58ad909e8a213ab0a690f6ed65e5c0e0e2274bf35ac49ff31d7988d483ce?s=96&d=mm&r=g","caption":"Vitor Silva"},"logo":{"@id":"https:\/\/secure.gravatar.com\/avatar\/f81f58ad909e8a213ab0a690f6ed65e5c0e0e2274bf35ac49ff31d7988d483ce?s=96&d=mm&r=g"},"sameAs":["https:\/\/www.linkedin.com\/in\/vitormrsilva","https:\/\/x.com\/vitorsilva"]}]}},"_links":{"self":[{"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/posts\/191","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/comments?post=191"}],"version-history":[{"count":0,"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/posts\/191\/revisions"}],"wp:attachment":[{"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/media?parent=191"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/categories?post=191"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/osmeusapontamentos.com\/index.php\/wp-json\/wp\/v2\/tags?post=191"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}