Configurable Network Computing

From Wikipedia, the free encyclopedia
Jump to: navigation, search

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 of the JD Edwards 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 JD Edwards' 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 JD Edwards Enterprise Resource Planning ERP which include developer/report writer and functional/business analysts.

The CNC architecture[edit]

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 technologies from JDE, PeopleSoft and its own application software technologies.

In the CNC architecture, a company's JD Edwards (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 and of JDEBASE Database Middleware. The JDEBASE middleware communicates with the database through ODBC, JDBC, or SQL*Net.

Definition and strengths of the CNC Architecture[edit]

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

"CNC is the technical architecture for JD Edwards 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]

Multi-foundation capability[edit]

Another strength of JD Edwards is its multi-foundation architecture. This means that one can create separate instances of JDE on different Tools Releases and isolate these release from each other. This is done by creating a separate set of system folders for the other foundation. In the main configuration file of the applications or enterprise server, JDE.ini, the incoming and outgoing ports are changed to a different one than the other foundation, so if one foundation had port 6015, then the alternate could use 6016. Also, the client-side tools release folder is installed on the deployment server and the system administrator uses the JDE Planner or installation environment to define another foundation. Subsequent full packages can then be pointed to use this different foundation.

Weaknesses in the CNC architecture[edit]

Specifications file corruption with JDE Applications up to 8.12[edit]

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. Since applications upgrade E812 and Tools Release or systems or foundational service pack, the proprietary specifications have been replaced with XML-based object properties which has proven to be more stable and less prone to corruption. In the fall of 2008, Oracle brought out the E900 applications release and by the fall of 2010, the tools release was up to 8.98.3.3. E900 Update 1, or E901 is the latest release as of fall 2010.

Specifications portability[edit]

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. JD 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. Product Packaging supports the export of specifications and E812 and beyond allow for versions to be exported as ZIP files through the actions column in Object Management Workbench [4]

Specifications readability[edit]

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]

Complexity of the architecture[edit]

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.

Third party applications scheduler enhancements[edit]

There are a number of third party applications that add functionality and programability to the JDE Scheduler. They include Cisco Tidal Enterprise Scheduler which is a JDE client-based product and Appworx, a third party server-based scheduler in which scripting and work-flow product have been customized for JDE support addressing adding to the vanilla scheduler that comes with JDE.

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

The advent of the world wide web and HTML technologies has also insulated users and applications from underlying technologies. The CNC architecture combines this with its own architecture through a Java Applications Server (JAS) architecture. The web clients communicate with the CNC architecture via these JAS servers.

Oracle releases E900 in late 2008 and E910 in 2011[edit]

In the fall of 2008, Oracle brought out the E900 applications release and by the summer of 2011, the tools release was up to 8.98.4.3. In the fall of 2009, E900 Update 1 was released. By summer of 2011 over 2000 Electronic Software Updates (ESUs) patches were required to bring the E901 release up to the latest code current levels. In the fall of 2010, Update 2 was released. In the fall of 2011, Oracle released Applications Release 9.1 and Tools Release 9.1 significantly changing the look and feel of E1.

JDENET and JDEBASE Middleware[edit]

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.

JDENET[edit]

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.

JDEBASE[edit]

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.

CNC systems analysts - also called CNCs[edit]

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 upgrades 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 analyst who is the business subject matter and business processes expert.

What's in a name - CNC[edit]

In recent years, there has been much discussion among the CNC community on the title, "CNC." On many web sites including such sites as Oracle and Linkedin people who have worked in the CNC field for many years have proposed a new title to replace the traditional CNC nomen. One of the most popular is "JD Edwards Systems Architect" or "EnterpriseOne Architect" even simply "JDE Architect." This seems to be driven by the fact that many senior CNCs become involved in planning and implementing the underlying CNC architecture and that the term CNC really conveys no meaning as to the actual job description. While the discussions go round and round, recruiters continue to use the CNC job description or dispensing with the CNC term may refer to the job as "JD Edwards System Administrator." Unfortunately, this later term is largely misunderstood by recruiters and IT people unfamiliar with the complexities of a JD Edwards Implementation and have told CNCs that from the title JDE System Administrator, their responsibilities are fairly simple and probably mimic that of an email administrator or operating systems administrator adding/deleting users and resetting user passwords. Despite the discussions on the utility of the CNC title, the IT seems to return to it as the only industry-wide accepted way to term the job.

CNC-related functions[edit]

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, other will work on batch process automatization and finally a Senior CNC will manage the entire group and, in that capacity, will often function as the chief JDE systems architect.

Basic CNC tasks[edit]

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.[6] Some or all of the following functions:

  • CNC Systems Administration which includes user and application security, user (profile) account set up, user groups (roles), task relationship (menu) and task (menu item) management,
  • 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
  • Server Manager (the Tools Release 8.97 and above) system management console basic skills
  • Refreshing and optimization of the underlying database, working with database administrators
  • Basic 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

CNC Schedulers[edit]

  • Batch job queues setup, batch job administration
  • Workload automation
  • Service Oriented job scheduling

Senior CNC tasks[edit]

  • JD Edwards installation
  • Proven experience/expertise in complicated EnterpriseOne installations/upgrades in large-scale (often global) implementations.
  • Database management and experience/expertise with SQL databases such as Oracle, SQL and DB2/400 with regards to EnterpriseOne.
  • Data Conversion using EnterpriseOne development tools.
  • Performance tuning of applications and web servers using Server Manager to analyze kernel processes and obtain log file for detailed analysis.
  • Advanced problem solving skills.
  • Advanced expertise in the technical architecture for EnterpriseOne (e.g. Citrix servers, web server, deployment/installation server, batch server in multiple OS situations including Windows, OS/400, Unix, VMWare and JD Edwards Portal Server.
  • Experience in adding custom environments and custom datasourse setups.
  • In depth knowledge of CNC mapping configuration changes using Object Configuration Manager (OCM).
  • Expertise in multiple JDE system software configurations (multi-foundation), Tools Release Updates.
  • Experience in designing and implementing highly available infrastructure solutions using VMware Virtual Infrastructure 3 (ESX, Virtual Center/VCenter, VMotion, HA, DRS) including Oracle VM.

CNC training[edit]

Because of the scope of the CNC functionality, the CNC function requires intensive training.[7] Oracle JD Edwards 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 2000, there is no official certification program. A typical list of classes would are as follows:

  • Common Foundation - The common enduser JDE experience [8]
  • 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 - E900) 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)

Oracle's CNC certification program[edit]

After more than a decade of discussion, Oracle has resurrected a JDE-CNC certification program.

  • Currently listed CNC Exam topics as of January 2011.

JDE-CNC Exam topics [9]

Topic Subtopic
CNC Foundation & Terminology
Work with Environments
Work with Path Codes
Use Object Management Configuration
Create Data Sources
Explain Server Types
Describe User Overrides
Work with Printers
Work with Universal Table Browser / Data Browser
Creating Scheduled Jobs with Scheduler
Describe Media Objects
Work with Server Jobs
Creating Job Queues
Managing Cross Reference Information
Architecture, Performance and Troubleshooting
Explain JDE Middleware
Explain the Different JDE Platforms
Explain Oracle VM Templates
Implementing JDE in a Multi-Foundation Environment
Describe the JDE Kernels
Troubleshooting with Server Manager
Using Resource Manager
Explain JDE Clustering
Implementing Single Sign On with JDE
Explain JDE Data Replication
Explain JDE Backup Schemas
Explain JDE Subsystems
Object Management
Describe Object Storage
Object Types and Anatomy
Creating Projects
Object Check Out/In/Get
Utilizing OMW Tokens
Defining Promotion/Lifecycle
Setting up Save/Restore in OMW
Interpreting OMW Logging
Setting up Object Management Configuration
Defining Activity Rules
Explain Allowed Actions
Administering Data Dictionary Items
Describe Vocabulary Overrides
Package Management
Creating Full Packages
Creating Update Packages
Working with Package Features
Building a Client Package
Building a Server Package
Building an Update Package
Deploying a Full Package
Deploying an Update Package
Deploying a Server Package
Deploying to an HTML Server
Defining Multi-Tier Deployment
Explain Business Services Server Deployment
Working with Package History
Reviewing Package Build Log Files
Security
Creating User Profiles
Working with Roles
Explain Role Sequencing
Explain Signon Security
Administering Passwords
Working with Security Workbench
Applying Application Security
Applying Action Security
Applying External Application Security
Applying Exit Security
Applying Processing Option Security
Applying Row Security
Applying Column Security
Applying Solution Explorer Security
Applying Tab Security
Applying Portal Security
Applying Security Model/Hierarchy
Applying OMW/OMC Security
Implementing Database Security
Implementing Enterprise Server Security
Implementing HTML Server Security
Implementing Deployment Server Security
Implementing Server Manager Security
Implementing Desktop Security
Install & Upgrade
Explain Minimal Technical Requirements
Executing a Deployment Server Installation
Executing a Platform Pack (Enterprise, Database) Server Installation
Executing a Server Manager Installation
Creating an HTML Server Instance
Creating a Business Services Server Instance
Creating a Transaction Server Instance
Installing Portal Server
Installing a Development Client
Creating an Installation/Upgrade Plan
Running the Installation/Upgrade Workbench
Describe Application Upgrades (ex. Xe->E9.0)
Describe Electronic Software Updates
Explain Application Updates (ex. E9.0 Update 3)
Implementing Tools Updates (ex. 8.98.4)
Using Change Assistant
Describe the Post Install/Upgrade Steps
Installing and Configuring Peoplebooks
Installing Additional Languages
Running EnterpriseOne Services
Executing Porttest
Implementing Oracle Business Accelerators

Independent support for JDE CNCs[edit]

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

Notes and references[edit]

Notes[edit]

See also[edit]

External links[edit]