Configurable Network Computing

From Wikipedia, the free encyclopedia

Configurable Network Computing or CNC is JD Edwards's (JDE) client-server proprietary architecture and methodology that implements its highly-scalable enterprise-wide business solutions software that can run on a wide variety of hardware, operating systems (OS) and hardware platforms. Now a division of the Oracle Corporation, Oracle continues to sponsor ongoing development the JDEdwards Enterprise Resource Planning (ERP) system. While highly flexible, the CNC architecture is proprietary and, as such, it cannot be exported to any other systems. While the CNC architecture's chief claim to fame, insulation of applications from the underlying database and operating systems, was largely superseded by modern web-based technology, nevertheless CNC technology continues to be at the heart of both JDEdwards' OneWorld and EnterpriseOne architecture and will play a significant role Oracle's developing fusion architecture initiative.[1] While a proprietary architecture, CNC is neither an Oracle nor JDE product offering. The term CNC also refers to the systems analysts who install, maintain, manage and enhance this architecture. CNCs are also one of the three technical areas of expertise in the JDEdwards Enterprise Resource Planning ERP which include developer/report writer and functional/business analysts.

Contents

[edit] The CNC architecture

Oracle is continuing to develop the CNC technology and will incorporate key elements of the CNC technology into its Oracle Fusion project which will pull together "best of breed" technologies from JDE, PeopleSoft and its own application software technologies.

In the CNC architecture, a company's JDEdwards (JDE) business software applications run transparently insulated from both the database where the business data is stored as well as from the client computer's underlying operating system and all other intervening JDE business applications servers. In layman's terms, the business programs don't "care" where the data is or which operating system is being used on any of the end user computers. Neither do the applications servers on which business programs run need to directly "know" what database systems are being called on the data end or back end. The CNC architecture keeps track of this through various database tables that point the business applications to the servers that run or execute the business applications and also include database connection tools called database drivers that tell the system also where the database servers are and what specific databases to do lookups, data inserts and data extracts from. Because of the key nature of the underlying architecture, a sound CNC infrastructure is critical to the success of a JD Edwards OneWorld installation or implementation. The back-end databases that are supported include Oracle, Microsoft SQL Server, and IBM DB2 databases. The application server can run on Windows platforms, Unix/Linux, and the IBM System i (formerly known as iSeries and AS/400). The Web server can be IBM WebSphere (on Windows, Unix/Llinux, or System i), or the Oracle Transaction Server [2].

In what has been known traditionally as client-server environments, applications must communicate across a combination of different hardware platforms, operating systems and databases as including. The CNC architecture uses a layer of software, called middleware, which resides between the platform operating system and the JDE business applications. To accomplish this, JDE provides two types of middleware, JDENET Communication Middleware for communication of and JDEBASE Database Middleware. The JDEBASE middleware communicates with the database through ODBC, JDBC, or SQL*Net.

[edit] Definition and strengths of the CNC Architecture

According to the JD Edwards document, Configurable Network Computing Implementation, the CNC architecture is defined as follows:

"CNC is the technical architecture for JDEdwards OneWorld and EnterpriseOne software. CNC enables highly configurable, distributed applications to run on a variety of platforms without users or analysts needing to know which platforms or which databases are involved in any given task. CNC insulates the business solution from the underlying technology. Enterprises can grow and adopt new technologies without rewriting applications....(it is) an application architecture that enables interactive and batch applications, composed of a single code base, to run across a TCP/IP network of multiple server platforms and SQL databases. The applications consist of reusable business functions and associated data that can be configured across the network dynamically. The overall objective for businesses to provide a future-proof environment that enables them to change organizational structures, business processes and technologies independently of each other."[3]

[edit] Weaknesses in the CNC architecture

[edit] Specifications file corruption

Until the advent of EnterpriseOne applications version 8.12 running on tools release/service pack 8.96, by far the most vulnerable aspect of the CNC technology was that proprietary object specifications had to be copied from full client up to the applications server in order for a JDE user's data selection and processing options to be run as requested on the server. If those proprietary specifications became corrupted, the batch application object, in turn, on the applications server could become corrupted. A rebuild and redeploy of the object was the only fix. Likewise, if there is some intervening process that corrupts object specifications as they come down to the client PC, the related object could become corrupted and no longer function correctly. With the 8.12 applications upgrade coupled with the 8.94/5/6 tools release systems or foundational service pack, the proprietary specifications are replaced with XML based object properties which has proven to be more stable and less prone to corruption.

[edit] Specifications portability

While copying the object specifications between the different Environments within the same system is easy, the code, once developed in any given system, is not easily portable to other systems. J.D. Edwards has developed a built-in process named "Product Packaging" to address this issue, but it's slow, not easy to use and is limited in a number of ways. Because of this, it's mainly used to deliver software updates by Oracle itself, while independent software vendors are mostly using third-party tools like Boomerang[4].

[edit] Specifications readability

Object specifications are not easily accessible to retrieve the data from, because they are in a proprietary format. A variety of interesting information is therefore hidden from the view. Some of this data can be retrieved, interpreted and displayed by the standard JDE software, but in many cases this may not be enough, nor fast enough, nor in the desirable format. Many third-party software solutions have been developed to fill this gap[5].

[edit] Complexity of the architecture

While powerful, the CNC architecture can be enormously complex making it difficult to maintain by anyone except quite senior CNC analysts. It is not uncommon to see 50 servers in some of the larger implementations and all these have to be maintained. While virtualization has helped in some areas, a lot of time has to be invested into keeping all these servers up and operational.

[edit] One operating batch job scheduler server per environment

Because of the way some aspects of the original AS/400-centric CNC architecture, even when it was ported over to the Windows and Unix/Linux class servers, the scheduler system, set up to automatically run batch jobs still remains on only one server per environment. While one can switch scheduler servers from one to another. Also this limitation makes it difficult to attempt to load-balance the scheduler server with a virtual server. Batch jobs are thus not easily distributed among multiple scheduling servers but are limited to a single server. This is a serious limitation on big JDE implementations. There are third party applications like Tidal Scheduler, that address this weakness.

[edit] CNC's interface with web-based technologies

While the advent of the internet, world wide web and HTML and XML technologies have also effectively insulated users as well as applications from underlying technologies, the CNC architecture combines these advantages with its own flexible architecture to combine support for a web-based thin client through its implementation of a Java Applications or (JAS) server architecture with its own flexible technology. All the while, the web clients, via the JAS servers communicate with the underlying CNC technology that continues to allow heterogeneous or multiple application servers on various operating systems and hardware platforms, multiple JAS servers, also on various operating systems and hardware platforms, all communicating with multiple implementations of SQL database technologies in any possible combination of Microsoft, Oracle and IBM's implementation of the SQL database technology. Under this system, for example, financials could reside on the AS/400 while supply chain could reside on a Unix/Oracle system and the CNC technology will seamlessly and transparently act as a glue holding this heterogeneous system together in a well-managed and risk-disbursed/diminished way.

[edit] JDENET and JDEBASE Middleware

JDENET and JDEBase middleware are the two elements in the CNC architecture that allow JDE applications to communicate across heterogeneous distributed computing environments. JDENET handles communications at the presentation layer with other internal JDE application, while JDEBASE is the JDE middleware that provides platform-independent multi-vendor SQL database access.

[edit] JDENET

JDENET is the message-oriented middleware is the software that connects the generated presentation layer of JDE applications with business function components through a standard JDE applications programing interface, or API called “jdeCallObject.” The JDENET middleware, running within the CNC architecture, supports the configuration of business function components for execution in the heterogeneous distributed computing environment that the CNC architecture support.

[edit] JDEBASE

JDEBASE database middleware is the JDE software that provides platform-independent application program interfaces APIs for multi-vendor database access. These APIs are used in two ways. The first way is by JDE applications that dynamically generate platform-specific Structured Query Language (SQL), depending on the data source request. The second way is as open APIs for advanced C language business function writing. JDE uses these APIs to dynamically generate platform-specific SQL statements. Thus, this middleware provides workstation-to-server and server-to-server database access. To accomplish this, both the legacy JDE OneWorld middleware as well as the newer JDE EnterpriseOne middleware incorporate database driver support for a variety of third-party database drivers including ODBC, for connection to Microsoft SQL server, OCI, for connection to Oracle database and Client Access 400 drivers for connectivity to IBM DB2.

[edit] CNC systems analysts

Systems analysts that work in this field are known as JDE and/or Peoplesoft CNCs. [6] Based on the size of the company implementing a JDE system, there may be one or more CNCs. In some small companies, there is no resident CNC, but some of the day-to-day CNC functions such as security and business program object builds and deployment is done by a JDE developer on staff while a third-party CNC is called in for non-routine, critical and/or high-risk CNC work such as system ugrades and expansion. CNC is one of the three JDE areas of expertise, the others being the JDE developer who changes code and the JDE functional analysist who is the business subject matter and business processes expert.

[edit] CNC-related functions

The CNC function entails a number of responsibilities or functions. Large companies may have an entire staff of CNCs, some working on security, others software change management which deploy changes in the JDE ERP system through the various stages of development, testing and production. Other CNCs will troubleshoot performance issues and finally a senior CNC will manage the entire group and, in that capacity, will often function as the chief JDE systems architect.

[edit] Typical CNC tasks

In order to support this architecture, CNC analysts perform a wide variety of tasks. A frequent criticism of the CNC field is that it is too complicated to be learned in any less than 2–3 years. A number of overlapped functions are involved. [7] Some or all of the following functions:

  • CNC Systems Administration which includes user and application security.
  • Planning and installation of business application patches also called electronic software updates or ESUs as well as underlying foundational code or programs called tools releases or service packs.
  • Building and deploying changes to the business applications called package builds
  • Management of various development, testing and production business environments which are self-contained sub-systems
  • Printer Configuration
  • Refreshing and optimization of the underlying database, working with database administrators
  • Creation of new environments
  • System auditing and performance tuning tasks
  • Development of software tools and processes automate repetitive CNC tasks
  • Remote CNC management through various secure access systems.
  • Training both business analysts, programmers and end-users on the overall use of the JDE ERP system

[edit] CNC training

Because of the scope of the CNC functionality, the CNC function requires intensive training. [8] Oracle JDEdwards manages the officially required coursework but many JDE business partners also offer training. A frequent criticism of CNC training is that far too many trainers and the syllabuses that they employ are so complicated as to be almost indecipherable to an incoming novice. The training is couched in techo-speak, terms such as path code, environment, OCM mappings are bantered about with overlapping and circular explanations that leave novices and introductory CNC students quite confused. As of 2007, there is no official certification program. A typical list of classes would are as follows:

  • Common Foundation - The common enduser JDE experience [9]
  • System Fundamentals - An introductory top-down look at the CNC architecture
  • CNC Foundation - Introduction to CNC Architecture and Function
  • Installation and Upgrade Overview - A combined look at installing and upgrading JDE
  • Installing and Implementing - A one week class on how to install and configure JDE
  • System Administration - Security, Object Management Workbench (OMW) Change management, etc.
  • System Administration Accelerated - A rapid-pace approach to JDE system admin
  • Advanced CNC Functions - An advanced look at the CNC architecture
  • Advanced CNC Troubleshooting - Analysis of CNC issues and troubleshooting techniques
  • OMW Change Management Solutions - JDE Objects Change Control using the Object Management Workbench (OMW) application
  • Package Build - The process of building and deploying object changes
  • Solutions Explorer - The JDE software applications security and menu management solution
  • Packaged Software - Exporting changed or custom software for deployment to external JDE systems
  • Programming Workflow - Building workflow tools
  • Maintaining C Business Functions - How to build business functions using object development tools
  • Upgrades and updates - the process of upgrading the JDE business toolset (B7333 - E812) or the underlying system/foundation (look and feel" code
  • Development Tools Parts 1 and 2 - The use of the JDE software Report Design Aid, Table Design Aid and other object development tools
  • Optional training - Report Writing and other development tools and functional business training (how the business processes affect the design and implementation of JDE ERP)

[edit] Independent support for JDE CNCs

A worldwide organization, Quest International Users Group as well as local, state-wide and regional JDE user groups have CNC sub-groups that support JDE CNCs. Among the useful user web sites that support JDE CNCs and other users is JDELIST which has a website at jdelist.com

[edit] Notes and References

[edit] Notes

[edit] See also

[edit] External links