Showing posts with label CONNECTION. Show all posts
Showing posts with label CONNECTION. Show all posts

Sunday, 8 August 2010

Virtual IMS Connection user group - under threat

Virtual IMS Connection is a vendor-neutral, independently-operated, virtual user group for IMS (IBM's Information Management System) professionals. It can currently be found at www.virtualims.com. It was launched at the beginning of November 2007.

Virtual user group meetings take place every other month and a guest speaker gives a presentation relevant to the IMS user community. The user group meetings last a little over an hour in total. Participation in meetings is free to members. The Virtual IMS Connection user group is also free to join.

User group members also get a bi-monthly newsletter. You can see the flip-book version here and the PDF version here.

The Web site contains details of future meetings, information about IMS-related articles (published elsewhere on the Web) and events, a list of IMS tools (software - the listing is free to vendors) and services, a list of IMS consultants, and a job bank (with resumes - CVs - and job opportunities).

New IMS products and new versions of existing products are always included in the News page. There's a link to the IMS-L listserv, where IMS professionals can ask questions and share information.

Members can access PDF versions of presentations and PDF versions of newsletters.

The idea was to create a one-stop shop for IMS professionals, where individuals using IBM’s IMS hierarchical database and transaction processing systems could exchange information, learn new techniques, and advance their skills with the product.

Obviously, there are sponsorship opportunities available to vendors of IMS-related products to help fund this work. Vendors can place banner adverts, etc. However, since its inception, NEON Enterprise Software has provided Web hosting for the site, and funded the WebEx technology that we have used to make the regular webinars possible, as well as meeting other costs. This is now coming to an end, and the Virtual IMS Connection user group is looking for a new home.

If your organization might be able to help keep this important user group running, please contact me on trevor@itech-ed.com.

You can also find the user group on Twitter at twitter.com/VirtualIMS.
You can become a fan on Facebook at www.facebook.com/#/pages/Virtual-IMS-Connection-user-group/282385116069.

Let's hope that the Virtual IMS Connection user group can continue to share ideas, information, and skills into the future.

Sunday, 6 June 2010

Staying up-to-date with IMS

IMS – Information Management System – has been around for quite some time. In fact it’ll be 42 in August. Isn’t 42 the ultimate answer to life, the universe, and everything? Anyway, IMS runs on IBM mainframes and provides an incredibly fast hierarchical database system and an excellent transaction processing system. And in the intervening 41 years and 10 months there have been enormous improvements not only to the way it works, but also to the thinking behind what can be done with it.

Anyone working with IMS will be able to explain to you the different types of database that exist. They’ll talk at length about Full-function databases, Fast-path databases, and High-availability fast path databases. In addition to this database side of IMS, they will also be able to explain how the transaction management system works – how end users can access information and how messages are queued to make this possible. This is great, but what IMS professionals also need is some way of ensuring they keep up-to-date with what else IMS can do. What IMS will be able to do next year when it’s 43 and work towards that.

One easy way is for IMS professionals to join the Virtual IMS Connection user group at www.virtualims.com. This user group has virtual meetings every other month, so that members can watch presentations without needing to leave their office – all they need is an Internet-enabled PC and a telephone. Most of these Webinars take place at 10:30 Central Time and last around an hour.

As well as seeing a presentation by another IMS professional and the ability to ask as many technical questions as they want, they are also kept up-to-date with the latest product announcements (new products or new versions or releases of existing products) and latest IMS-related articles appearing in the press. On the Web site they can find jobs or people looking for jobs and (added quite recently) they can find consultants available for work.

The next meeting of the Virtual IMS Connection user group will be on the 8th June, and the meeting includes a presentation by Patrick Fournier of SysperTec Communications, who will be discussing “Improving the performance, efficiency, and TCO of SOA integration for IMS applications”.

The presentation will look at:
  • Web-enabling IMS and other 3270 applications. 
  • Providing a way to serve IMS application screens on thin-client Web browsers
  • Developing Web 2.0 user interfaces that combine IMS 3270 data flows with AJAX functionality and JavaScript widgets.
  • Creating interactive bi-directional connections between IMS and Web applications, eg Web applications that consume IMS transaction.

In a constantly changing industry, the only way to stay up-to-date and to keep your skills honed is join these regular Webinars. And being a virtual meeting, you don’t have to convince your company to fund your user group experience.

If you’re an IMS professional, it makes sense to join the user group and take part in a free Webinar.

Sunday, 21 March 2010

Facebook and Twitter





The exciting news is that you can now stay up-to-date with all that’s happening in the IMS world, and with what’s happening with the Virtual IMS CONNECTION user group by following them on Twitter or becoming a Fan on Facebook – as well as by checking the Web site regularly at www.virtualims.com.










You could also add the Twitter and Facebook widgets to your Web sites, so not only do you stay in touch, but IMS professionals visiting your site will also be able to see the latest information. Examples of the widgets are shown below:

So, follow us on Twitter and become a fan on Facebook.

 



iTech-Ed Ltd is also on Twitter and Facebook. You can see all the latest blogs and other mainframe news on Twitter at twitter.com/t_eddolls. Or you can become a fan on Facebook by going to www.facebook.com/pages/iTech-Ed-Ltd/201736748040.

Sunday, 14 March 2010

IMS logical relationships

The latest webinar from Virtual IMS CONNECTION was entitled, “The logical answer: IMS Logical Relationships”, and was presented by Aurora Emanuela Dell’Anno, an Engineering Services Architect with CA. Aurora is an IMS and DB2 Specialist Systems Engineer, with a past in application development. Aurora has spent the past 14 years specializing in various aspects of the IBM software world, with particular attention to database management and data warehousing. Keeping pace with the times, the past years have been dedicated to in-depth work on, and study of, data warehousing realities, trouble-shooting systems installations, and application performance issues – this included getting her hands dirty with distributed platforms, customers’ implementations, and problem-solving needs in this field, all from the perspective of systems engineering and database administration. Aurora works for CA in the highly-focused Mainframe Solutions Center.

Aurora started her presentation by explaining exactly what an hierarchical database was and what relational data structures were. She then asked why IMS needed logical relationships and suggested the reason was to access segments by a field other than the one chosen as the key, or to associate segments in two different databases or hierarchies. Aurora informed the user group that IMS provides two very useful tools to resolve these data requirements: secondary indexes logical relationships.

Thinking about database design, it can be useful to normalize the data. This helps to break data into naturally associated groupings that can be stored collectively in segments in a hierarchical database. It also breaks individual data elements into groups based on the processing functions, and groups data based on inherent relationships between data elements.

The database types that support logical relationships are HISAM, HDAM, PHDAM, HIDAM, and PHIDAM. There are no logical relationships with Fast Path DEDB or MSDB.

Logical relationships are formed by creating special segments that use pointers to access data in other segments. The path between the logical child and the segment to which it points is called a logical relationship.

There are three types of logical relationships:
  • Unidirectional
  • Bidirectional physically paired
  • Bidirectional virtually paired.
A unidirectional relationship links two segment types (logical child and its logical parent) in one direction. A one-way path is established using a pointer in the logical child.

A bidirectional physically paired logical relationship links two segment types, a logical child and its logical parent, in two directions. A two-way path is established using pointers in the logical child segments.

A bidirectional virtually paired logical relationship is like a bidirectional physically paired relationship. It:
  • Links two segment types, a logical child and its logical parent, in two directions, establishing a two-way path
  • Can be established between two segment types in the same or different databases.
A logical child segment exists in only one database. When going from database A to database B, IMS uses the pointer in the logical child segment. When going from database B to database A, IMS uses the pointer in the logical parent, as well as the pointer in the logical child segment.

To establish a logical relationship, three segment types are always defined – the physical parent, the logical parent, and the logical child.

Aurora explained that the pointers used in logical relationships fall into two categories – direct and symbolic. We can implement logical relationships using both types, however, a direct pointer is a true pointer.

There are four types of pointers:
  • Logical parent (LP)
  • Logical Child (LC)
  • Logical Twin (LT)
  • Physical Parent (PP).
LP pointers point from the logical child to the logical parent. An LP pointer is in the prefix of the logical child and consists of the 4-byte direct address of the logical parent.

Logical child pointers are used only for logical relationships that use virtual pairing. With virtual pairing, only one logical child exists on DASD, and it contains a pointer to a logical parent. The logical parent points to the logical child segment.

Two types of logical child pointers can be used:
  • Logical Child First (LCF)
  • A combination of LCF and Logical Child Last (LCL) pointers.
Because LCF and LCL pointers are direct pointers, the segment they are pointing to must be in an HD database. The logical parent (the segment pointing to the logical child) must be in a HISAM or HD database. If the parent is in a HISAM database, the logical child must use a symbolic pointer to point to the parent.

A symbolic LP pointer consists of the Logical Parent’s Concatenated Key (LPCK). It can be used to point into a HISAM or HD database.

Physical Parent (PP) pointers point from a segment to its physical parent. IMS generates PP pointers automatically for HD databases involved in logical relationships.

Logical Child Pointers are used only in logical relationships with virtual pairing. When virtual pairing is used, there is only one logical child on DASD, called the real logical child. This logical child has an LP pointer. The LP pointer can be symbolic or direct.

Two types of logical child pointers can be used:
  • Logical Child First (LCF) pointers
  • A combination of logical child first (LCF) and Logical Child Last (LCL) pointers.
CA’s Aurora Dell’Anno went on to inform the user group that logical twins are multiple occurrences of logical child segments that point to the same occurrence of a logical parent segment. Two types of logical twin pointers can be used:
  • Logical Twin Forward (LTF)
  • A combination of LTF and Logical Twin Backward (LTB).
HALDBs (PHDAM, PHIDAM, and PSINDEX databases) use direct and indirect pointers for pointing from one database record to another database record. The use of indirect pointers prevents the problem of misdirected pointers that would otherwise occur when a database is reorganized. The repository for the indirect pointers is the indirect list data set. The misdirected pointers after reorganization are self-healing using indirect pointers.

The relationship between physical parent and logical child in a physical database and the LP pointer in each logical child creates a physical parent to logical parent path. For a physical parent to logical parent path, the logical parent is the destination parent in the concatenated segment.

For a logical parent to physical parent path, the physical parent is the destination parent in the concatenated segment.

When use of a physical parent to logical parent path is defined, the physical parent is the parent of the concatenated segment type. When an application program retrieves an occurrence of the concatenated segment type from a physical parent, the logical child and its logical parent are concatenated and presented to the application program as one segment. When use of a logical parent to physical parent path is defined, the logical parent is the parent of the concatenated segment type. When an application program retrieves an occurrence of the concatenated segment type from a logical parent, an occurrence of the logical child and its physical parent are concatenated and presented to the application program as one segment.

In both cases, the physical parent or logical parent segment included in the concatenated segment is called the destination parent.

There must be one physical DBD for each of the databases in a logical relationship. All statements are coded with the same format used when a logical relationship is not defined, except for the SEGM and LCHILD statements. The SEGM statement includes the new types of pointers. The LCHILD statement is added to define the logical relationship between the two segment types. The pointers for use with HD databases must be explicit in the PTR= parameter.

When a logical relationship is used, you must define the physical databases involved in the relationship to IMS. Also, you often need to define the logical structure of IMS since this is the structure the application program perceives.

With HALDB databases, bidirectional logical relationships must be implemented with physical pairing. When loading a new partitioned database with logical relationships, the logical child segments cannot be loaded as part of the load step. IMS adds logical children by normal update processing after the database has been loaded. HALDBs use an Indirect List Data Set (ILDS) to maintain logical relationship pointers when logically related databases are reorganized.

Aurora recommended a White Paper called Converting Logical Relationships to Support Partitioned Databases written by William N Keene – who some of you will have heard speak at user group meetings and who is a regular attendee. The White Paper provides guidance and examples for converting a set of logically related databases from bidirectional, virtual pairing using direct pointers to bidirectional, physical pairing using symbolic pointers.

The presentation contained a lot more detailed information, including some thoughts on performance. Aurora concluded by stating that logical relationships resolve conflicts in the way application programs need to view segments in the database. With logical relationships, application programs can access segment types in an order other than the one defined by the hierarchy, and have a data structure containing segments from more than one physical database.

Membership of the Virtual IMS Connection is free and open to anyone interested in IMS. Webinars are presented free to members. You can join by going to http://www.virtualims.com/register.aspx and completing the form.

Sunday, 10 January 2010

zPrime for IMS

The latest webinar from Virtual IMS CONNECTION (www.virtualims.com) was entitled, “Reducing mainframe costs – in a BIG way”, and was presented by Tony Lubrano, a product author at NEON Enterprise Software. Tony has been in data processing since 1975 and has been a software developer since 1993. As a software developer for Candle Corporation, Tony led the team that developed the Candle Command Center for IMS and DB2 products, as well as developing components of Omegamon II for IMS. Tony has been a product author with NEON Enterprise Software for the past 14 years developing many IMS products. NEON’s IMS Prefix Update Utility, Database Director, Application Director, and HALO are some of the commercial products Tony has developed. Most recently, Tony is one of the product authors of the NEON zPrime product.

Tony started his presentation by explaining what NEON zPrime actually is. He said that:
  • NEON zPrime “facilitates” the movement of processing from a general purpose processor (CP) to a specialty processor (zIIP or zAAP)… It does not guarantee its movement
  • NEON zPrime is a proprietary software solution governed by trade secrets. Details will not be publicly disclosed
  • There is no publicly documented interface that facilitates this capability.
  • There is no privately documented interface, that has been disclosed to NEON, that facilitates this capability.

Tony then clarified exactly what zPrime does not do. He said zPrime does not:
  •  Hook/alter z/OS dispatcher
  • Hook/alter Workload Manager (WLM)
  • Hook/alter System Management Facility (SMF)
  • Hook/Alter Resource Measurement Facility (RMF)
  • Enable/Disable any type of processors on any LPAR.

The workloads that are supported by zPrime are: IMS MPPs (transactions), IMS BMPs (transactions, online batch), IMS IFPs (transactions, online batch), IMS DLI or DBB (batch database), CICS transactions, TSO/ISPF, DB2 application programs, DB2 stored procedures, batch application programs, and all NEON’s IMS utilities.

Tony discussed how the various workloads could be enabled to use zPrime and then focused on zPrime for IMS enablement. These include:
  • IMS pre-initialization exit
  •     –    JCL change
  •     –    IMS Proclib change.
  • Batch Wrapper
  •     –    JCL Change
  • Language Environment (LE) Exit
  •     –    SMP/E Usermod
  • NEON IMS utilities.

The zPrime IMS pre-initialization exit:
  • Enables IMS MPP, BMP and IFP processing
  • Copy ?neonhlq.LOAD(NSLZPIMS) to the IMS Reslib
  • Create/modify the pre-initialization proclib member (DFSINTxx)
  • Modify the MPP, BMP, and/or IFP job JCL to point to the pre-initialization proclib member.

Picking up the point about creating or modifying the DFSINTxx member, Tony said:
  • It must be in the //PROCLIB DD in the BMP, MPP, or IFP JCL
  • Member name is DFSINTxx – where xx is the pre-initialization suffix
  • Add NSLZPIMS to the list of modules in the DFSINTxx member.

When modifying the BMP, MPP, and IFP JCL, Tony told us that the Execution Parameter must specify the preinitialization member name suffix, and the Jobstep must contain a //PROCLIB DD containing the data set with the DFSINTxx member.

Tony explained how the zPrime Batch Wrapper worked, and went on to look at the Language Environment exit enablement. He suggested:
  • Affects all LE-enabled programs
  •     –    Not limited to IMS applications
  • SMP/E usermod for global/production use
  •     –    Updates LE runtime library – usually in Linklist
  •     –    No JCL changes required
  • Linkedit job for local/testing use
  •     –    Link to non-global library
  •     –    Add to STEPLIB/JOBLIB.

Tony talked about using NEON’s IMS utilities and then described in depth customizing the NEON server (NESS). He then continued by talking about enabling zPrime workloads, suggesting:
  • It uses documented exits for all system enablement
  •     –    Implementation of exits are well understood by appropriate systems personnel
  •     –    Implementation of exits are documented in appropriate product documentation
  • zPrime exits and batch wrapper do not force enablement… only make call to the NESS
  • Everything to be enabled must be specified via the zPrime Enablement Console
  • ex ‘?neonhlq.EXEC(zprime)’.

So, how good is zPrime? Tony said that he used the worst values reported by customers and found savings of 44% for CICS, 75% for TSO/ISPF, 84% for Batch Wrapper, 89% for DB2, 91% for IMS MPP, and 93% for IMS BMP!

Tony also identified some known problems. With z/OS V1.9 and below:
  • TPUT SRB specifies CPU affinity resulting in intermittent S072-8 abends. Affinity points to a zIIP or zAAP however, the generated SRB is not eligible for zIIP or zAAP processing.
  • Does not produce a dump – only logrec data
  • No adverse affect to processing.

In terms of the Batch Wrapper:
  • SMF 30 record shows the program name as NSLZPAPP when NESS is not running
  • Not an issue when using the LE, TSO/ISPF, IMS, CICS or DB2 exits.

Membership of the Virtual IMS Connection is free and open to anyone interested in IMS. Webinars are presented free to members. You can join by going to http://www.virtualims.com/register.aspx and completing the form.