1 / 51

OpenEdge 11 Update

OpenEdge 11 Update. Scandi PUG 2011. Jarmo Nieminen Solution Consultant / TAM - Nordics March 31 , 2011. Vilket språk låter bra?. “ Saari , saari , heinäsaari ; heinäsaaren neito .” “Island, island, grassy island; grassy island's maiden.” “Ö , ö, hö ö; hö ö mö ”.

lindsay
Download Presentation

OpenEdge 11 Update

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


  1. OpenEdge 11 Update Scandi PUG 2011 Jarmo Nieminen Solution Consultant / TAM - Nordics March 31, 2011

  2. Vilket språk låter bra? “Saari, saari, heinäsaari; heinäsaarenneito.” “Island, island, grassy island; grassy island's maiden.” “Ö, ö, hö ö; hö ö mö”

  3. This roadmap is for informational purposes only, and you are hereby cautioned that actual product development can, and often does, vary significantly from roadmaps. This roadmap may not be interpreted as any commitment on behalf of Progress, and future development, timing and release of any features or functionality described in this roadmap remains at our sole discretion. D I S C L A I M E R D I S C L A I M E R Notice

  4. Agenda • Background and Overview of Multi-tenancy • Multi-tenancy “Workaround” Theory/Reality • OpenEdge 11.0 Multi-tenant Tables • Data Access and Queries • Data Model • Operation Features • Provisioning and Configuration • OpenEdge 11 demo – tools for MT • Summary

  5. Background and Overview of Multi-tenancy

  6. Why are we talking about Multi-tenancy? • Reduce machine resource requirements • Reduce operational costs • Reduce the number of instances • Require fewer administration staff • Gain economies of scale • Become more cost effective • Make it easy to manage Focus on costs and operational excellence One good way to make that happen for application delivery is with Multi-tenancy.

  7. But what is Multi-tenancy…in simple terms? • Tenant = Customer • Multiple tenants experience application as dedicated only to them • Allow computing resources to be shared among tenants • Multiple implementation models

  8. The Multi-tenancy Continuum Isolated Tenancy Infrastructure Tenancy ApplicationTenancy Shared Tenancy Tenant1 Tenant2 Tenant3 Tenant1 Tenant2 Tenant3 Tenant1 Tenant2 Tenant3 Tenant1 Tenant2 Tenant3 App App App App App App App App DB DB DB DB DB DB DB DB DB DB Infrastructure Infra. Infra. Infra. Infrastructure Infrastructure Isolating Sharing • Easier customization, security • Simpler throttling control • Target dissimilar customers • No transformation • Better economy of scale • Simpler management • Target like-customers • Least cost to serve

  9. Business Considerations for Multi-tenancy – Traditional 11

  10. Is Multi-tenancy a Vendor or User benefit? Vendor • Reduced Operating Costs • Lower management overhead • Economies of Scale • Standardized development and delivery of services User • Lower fees • Higher quality of service delivery • More timely upgrades • The answer: BOTH! • Vendor: operational efficiency • Users: lower cost of service

  11. Multi-tenancy “Workaround” Theory/Reality

  12. Multi-tenancy “Workaround” - Theory Create an extra “Tenant ID" column for Multi-tenancy Tenant A Rows Tenant B Rows Tenant C Rows FOR EACH CUSTOMER WHERE Tenant ID = A

  13. Multi-tenancy “Workaround” - Reality • Common bulk operations become very difficult: • Backup • Restore • Index rebuild • Delete • Copy • Move • Tenant management and analysis are difficult: • Performance analysis • Resource consumption metrics • Resource utilization controls • Coding concerns: • Invasive - you have to change a lot of ABL code • Coding mistakes could result in data going to wrong tenant!!! • Lock conflicts can occur among tenants • Performance is sub-optimal: • Low locality of reference • Low I/O efficiency

  14. OpenEdge 11.0 – Multi-tenant Tables No extra column needed for “Tenant ID”… Tenant A Rows Tenant B Rows Tenant C Rows FOR EACH CUSTOMER WHERE Tenant ID = A

  15. OpenEdge 11.0Multi-tenant Tables

  16. What is Progress doing about it? The industry’s first true multi-tenant database “Progress has started several initiatives to enable the migration into a software-as-a-service (SaaS) deployment model. The sophisticated and recently developed multi-tenant capability of the OpenEdge database demonstrates this commitment.” Stephan Reid September 20, 2010

  17. OpenEdge 11.0 – Multi-tenant Tables • Customer feedback for development • Flexible data sharing model in same DB • Multi-tenancy built into the application stack • Easy migration of existing applications and data • Choice of wide range of deployment scenarios

  18. OpenEdge 11.0 – Multi-tenant Tables • Data physically partitioned by tenant identity • Tenant authentication is built-in • Virtually no application changes required • Utilities and operational features also tenant-aware • Tenant-aware monitoring and analysis tools

  19. Shared Tables (same as in 10.2B and earlier) Catalog tables No tenant-specific mapping No implicit tenant-row identity In 10.2B all tables are shared tables Still available in OpenEdge 11.0 Multi-tenant Tables: Data Access Simplifies Development of Multi-tenant Applications Multi-tenancy Online Seed Application Catalog Schema 1 Alfalfa 2 Asparagus 3 Beans 4 Beets 5 Broccoli 6 Brussels Sprouts 7 Cabbage 8 Carrots 9 Cauliflower 10 Celery 11 Zucchini Data available to all users Great for commonly shared information

  20. Basic multi-tenant paradigm Multi-tenant tables built into the DB Tenants share same schema definition Data physically partitioned by tenant identity Minimalapplication changes required to achieve multi-tenancy "Simply check the ID at the door…" Multi-tenant Tables: Data Access Simplifies Development of Multi-tenant Applications Multi-tenancy Car Rental Application Customer Schema 1 Lance Armstrong 2 John Cleese 3 Tipper Gore Tenant 1 (Hertz Boston) Tenant 2 (Hertz Chicago) 4 Shaquille O’Neal 7 Ben Stein 8 William Shatner 2 Dennis Rodman 7 Nick Nolte 9 Lindsay Lohan 10 Charlie Sheen Tenant 3 (Rent-a-wreck)

  21. Keys unique per tenant partition Query is tenant specific Same application code Data retrieved based on tenant identity Multi-tenant Tables: Data Access Simplifies Development of Multi-tenant Applications Multi-tenancy Car Rental Application Customer Schema Tenant 1: 1 Lance Armstrong 2 John Cleese 3 Tipper Gore FIND CUSTOMER WHERE cust-num=2. find.r Tenant 2 (Hertz Chicago) 4 Shaquille O’Neal 7 Ben Stein 8 William Shatner Example: Tenant #1 Authenticates… 2 Dennis Rodman 7 Nick Nolte 9 Lindsay Lohan 10 Charlie Sheen Tenant 3 (Rent-a-wreck)

  22. Keys unique per tenant partition Query is tenant specific Same application code Data retrieved based on tenant identity Multi-tenant Tables: Data Access Simplifies Development of Multi-tenant Applications Multi-tenancy Car Rental Application Customer Schema Tenant 1: Tenant 3: Tenant 2 (Hertz Chicago) FIND CUSTOMER WHERE cust-num=2. FIND CUSTOMER WHERE cust-num=2. find.r find.r 4 Shaquille O’Neal 7 Ben Stein 8 William Shatner Example: Tenant #3 Authenticates… 1 Lance Armstrong 2 John Cleese 3 Tipper Gore 2 Dennis Rodman 7 Nick Nolte 9 Lindsay Lohan 10 Charlie Sheen

  23. Keys unique per tenant partition Query is tenant specific “Super-tenant" query Authenticate & assert identity No data of their “own” Access to all tenant data by tenant ID or name Multi-tenant Tables: Data Access Simplifies Development of Multi-tenant Applications Multi-tenancy Car Rental Application Customer Schema 1 Lance Armstrong 2 John Cleese 3 Tipper Gore Super-tenant: 4 Shaquille O’Neal 7 Ben Stein 8 William Shatner FOR EACH customer TENANT-WHERE Tenant-id > 0: DISPLAY cust-num, name. 2 Dennis Rodman 7 Nick Nolte 9 Lindsay Lohan 10 Charlie Sheen Think: “Landlord”

  24. Keys unique per tenant partition Query is tenant specific “Super-tenant" query Row-level tenant identification Virtual column available for display or selection Not stored in table definition Multi-tenant Tables: Data Access Simplifies Development of Multi-tenant Applications Multi-tenancy Car Rental Application Customer Schema 1 1 Lance Armstrong 1 2 John Cleese 1 3 Tipper Gore Super-tenant: 2 4 Shaquille O’Neal 2 7 Ben Stein 2 8 William Shatner FOR EACH customer TENANT-WHERE Tenant-id > 0: DISPLAY BUFFER-TENANT-ID(cust), cust-num, name. 3 2 Dennis Rodman 3 7 Nick Nolte 3 9 Lindsay Lohan 3 10 Charlie Sheen

  25. Multi-tenant Tables: Data Access Group Tenancy • Multiple tenants share same data/partition • Employee access to shared customer list Car Rental Application Customer Schema 1 Lance Armstrong 2 John Cleese 3 Tipper Gore Tenant 1 (Hertz Boston) Tenant 2 (Hertz Chicago) 4 Shaquille O’Neal 7 Ben Stein 8 William Shatner 2 Dennis Rodman 7 Nick Nolte 9 Lindsay Lohan 10 Charlie Sheen Tenant 3 (Rent-a-wreck)

  26. Multi-tenant Tables: Data Access Group Tenancy • Multiple tenants share same data/partition • For example, employee access to a shared • customer list • Per-table group membership • Data ownership shared • Owned by group identity Car Rental Application Customer Schema Hertz Customer Group 1 Lance Armstrong 2 John Cleese 3 Tipper Gore 4 Shaquille O”Neil 7 Ben Stein 8 William Shatner Tenant 1 (Hertz Boston) Tenant 2 (Hertz Chicago) 2 Dennis Rodman 7 Nick Nolte 9 Lindsay Lohan 10 Charlie Sheen Tenant 3 (Rent-a-wreck)

  27. Multi-tenant Tables: Data Model Data Model • Multi-tenant or Shared objects • Tables and associated indexes & LOBs • Sequences • Shared only – never defined per tenant • Triggers & stored procedures • Default values • Limits • Support for 32,767 tenants!!! Car Rental Application Customer Schema 1 Lance Armstrong 2 John Cleese 3 Tipper Gore Tenant 1 (Hertz Boston) Tenant 2 (Hertz Chicago) 4 Shaquille O’Neal 7 Ben Stein 8 William Shatner 2 Dennis Rodman 7 Nick Nolte 9 Lindsay Lohan 10 Charlie Sheen Tenant 3 (Rent-a-wreck)

  28. Multi-tenant Tables: Tenant Provisioning • Tenant creation: ABL, APIs, DDL & GUI • Programmatic tenant provisioning • Tenant partition creation is optional • Tenant-level activation/deactivation • Identification (via “_Tenant” table) • Database specific tenant ID • User friendly name: “Hertz Boston” • App specific ID (could be UUID) Car Rental Application Customer Schema 1 Lance Armstrong 2 John Cleese 3 Tipper Gore Tenant 1 (Hertz Boston) Tenant 2 (Hertz Chicago) 4 Shaquille O’Neal 7 Ben Stein 8 William Shatner 2 Dennis Rodman 7 Nick Nolte 9 Lindsay Lohan 10 Charlie Sheen Tenant 3 (Rent-a-wreck)

  29. Multi-tenant Tables: Operational Features Operational Features • Tenant-aware partition maintenance • Tenant specific object move • Add/drop tenants/objects • Data dump/load • .df support • Index maintenance tools • Tenant-aware Monitoring • Promon, VSTs • Analysis tools • .lg file (other log files) Car Rental Application Customer Schema 1 Lance Armstrong 2 John Cleese 3 Tipper Gore Tenant 1 (Hertz Boston) Tenant 2 (Hertz Chicago) 4 Shaquille O’Neal 7 Ben Stein 8 William Shatner 2 Dennis Rodman 7 Nick Nolte 9 Lindsay Lohan 10 Charlie Sheen Tenant 3 (Rent-a-wreck) Note: Auditing and TDE are not tenant-aware (all of nothing)

  30. Tenant Provisioning and Configuration • GUI Tool for Managing Multi-tenancy – less code! • Integrated with OE Explorer and OE Management • Web-based interface • Easy to configure from anywhere • Template concept • Reduces complexity • Increases productivity • Flexible sorting and filtering

  31. Summary

  32. Multi-tenant Application Deployments • Almost no changes to the application • Data access logic remains unchanged • Same compiled code • Additional code: • Tenant authentication • Super-tenant queries and processing

  33. Business Considerations for Multi-tenancy - (OpenEdge Multi-Tenant Tables) 35

  34. Summary • Reduce costs with simplified development • Minimal application changes • No tenant-based customizations for queries or other data access • Deploy new customers faster • Tenant access to data is transparent, based on identity • Tenants can be quickly and efficiently added, removed, and managed • Decrease maintenance overhead • Fewer databases to manage, better resource utilization • Tenant-based utilities and tools make maintenance tasks easier • Maintain security of tenant data • Physical separation within database – NOT virtual! • Tenant authentication required for data access

  35. ABL Syntax Examples /**** Examples where a super tenant wants to perform actions on tenant **** specific data and sequences. ****/ /* Assume super tenant identity already asserted via Client Principle * or via SET-USERID */ /* Retrieve tenant #3’s customers with cust-num < 100 */ SET-EFFECTIVE-TENANT(TENANT-NAME(3)). FOR EACH customer WHERE cust-num < 100 : … /* Retrieve tenant “Progress”’s customers with cust-num < 100 */ SET-EFFECTIVE-TENANT(“Progress”). FOR EACH customer WHERE cust-num < 100: …

  36. Operational maintenance tools • Multi-tenant support from the existing database maintenance tools abides by the following rules: • Database-wide tools continue to be database-wide (e.g., backup/restore, after imaging) • Offline utilities continue to be offline (e.g., db repair, roll forward) with the exception of index rebuild. Index rebuild of tenant local indexes is allowed while the database is online. The tenant whose indexes are being rebuilt are offline until the process completes, but other tenants of the database are not affected and can continue towork actively with the database. • Object-specific tools are tenant-aware (e.g., table move, dbanalys)

  37. Tenant partition tool support The following tools have been enhanced in OpenEdge 11.0 to perform their object-specific actions on an object/tenant partition basis: Binary dump Binary dump specified Binary load Bulk data load Chain analysis Create/Toss limits assignment Display create/toss limits Data dump Data load Database analysis Database repair dbtool .df definition Index activate Index analysis Index check Index compact Index fix Index rebuild (online by tenant) Index move Sql Dump Sql Load Table analysis Table move

  38. Multi-tenant Configuration and Data Administration Tool A web-based multi-tenant configuration tool has been created to manage and configure tenants of the database as well as to perform other multi-tenant data administration tasks. • Create new tenants in the database • Create new multi-tenant tables in the database • Create new multi-tenant sequences • Configure storage area locations for each partition of a multi-tenant object (tables, indexes and LOBs) when creating a new tenant • Configure storage area locations for each new tenant partition when creating a new multi-tenant object (tables, indexes and LOBs). • Support .df load and maintenance • Present a visualization of the tenants’ access paradigms in conjunction with the associated storage locations of the multi-tenant objects • Create new multi-tenant groups and assign tenants to those groups. • Migrate an existing tenant into a tenant group. • Perform data administration on multi-tenant data for dump and load. • Manage security associated with tenants of the database, including creating and deleting domains and maintaining authentication and authorization. • Enable and disable a tenant’s access to all their data through a tenant activation/deactivation option. • Manage alternate buffer pool settings on a per-object, per-tenant basis • Display and report on multi-tenant-specific schema configurations.

  39. OpenEdge 11.x Overview of New Capabilities

  40. OpenEdge Takes You There Continuous Evolution through the IT paradigms It’s always been about Business Applications OpenEdge 11 Eases SaaS/Cloud Computing! OpenEdge 10 Enabled SOA V9 Delivered Distributed Computing V8 was Client/Server 1998 2000 2002 2004 2006 2008 2010

  41. OpenEdge is open and modern

  42. Taking You Higher With OpenEdge 11 • Silverlight Adapter (target OE11.1) • Easily connect your Silverlight UI to your application • Part of our Open Client strategy • Based on Microsoft RIA Services • JSON Parser • Great for building AJAX-based UIs in web applications • JSON data trivial to manipulate in Web browser UI logic • Easily create and parse JSON documents in ABL User InterfaceFlexibility Pick the UI That Meets the Needs of the Customer

  43. Taking You Higher With OpenEdge 11 Integration • REST interface for AppServer (target OE 11.1) • Providing the “adapter” to make it easier • Avoids extra “layer” of web services (SOAP) • Improved ProDataSet to XML support • Improved to include “edge cases” • Valuable “best practice”

  44. Taking You Higher With OpenEdge 11 Productivity • OpenEdge Architect – best tool moving forward • Ease of use improvements • Runs on Linux platform • Support WebSpeed programming models • Incorporate WebSpeed Workshop capabilities • Most web-based and UI work done here • Remote server support for AppServer & WebSpeed development • Start/stop from OEA – automatically • Object-oriented language extensions • Interface inheritance • Dynamic properties

  45. Taking You Higher With OpenEdge 11 Operational Excellence • Actional – database interceptor, payload capture • Trace transactions as they flow to the DB • AppServer diagnostics • Improved error handling • What code is running? • AppServer network compression • for state-free mode • for Java clients • for .Net clients • OpenEdge Management • Remote jobs

  46. Table Partitioning (OpenEdge 11.1) Operational Excellence Maximize Operating Performance • Table Partitioning Types – tailor to your needs • Range of values, e.g. year, invoice amount, etc. • List of values, e.g. sales region, country, etc. • Composite: a combination of the above • Query Partition Pruning • More efficient query engine to improve performance across multiple partitions • Local and Global Index Support

  47. Operational Features of Table Partitioning Operational Excellence Maximize Operating Performance • Partition Maintenance • Object move • Add/drop objects • Backup/restore, recovery • Data dump/load • .df support • Index maintenance tools • Read-only partitions • Monitoring • Promon, VSTs • Analysis tools • .lg file (other log files)

  48. Taking You Higher With OpenEdge 11 More great features • 50-60+ enhancements in OpenEdge 11.x – can’t review every one! • Performance • Auto Update of OpenEdge SQL statistics – helps self-tune/optimize • Security • RC4 for ENCRYPT() • SHA-256, SHA-512 • More SSL certificate support • Data servers – keep on pace with OpenEdge DB • MS SQL Server DataServer CLOB support • DataServer dynamic query join optimization • Others • Bug fixes • 64-bit ODBC for Linux • Sonic 8.x support for Sonic adpater (MQ and ESB) • asbman, wsbman show what .r an agent is executing (think “task manager”)

  49. OpenEdge 11.0 Release Plans

More Related