Modernization Hub

Bundle

Enhanced Definition

In the context of z/OS, a `bundle` is a deployable package that groups related resources or artifacts for a specific purpose, enabling their collective management, deployment, and lifecycle control. It simplifies the deployment of complex applications or services by treating multiple components as a single unit.

Key Characteristics

    • Atomic Deployment: Resources within a bundle are deployed, enabled, and disabled as a single logical unit, ensuring consistency and simplifying operational procedures.
    • Version Control: Bundles can be versioned, allowing for controlled updates, easy rollbacks, and management of different application releases.
    • Resource Encapsulation: It encapsulates all necessary components (e.g., programs, transactions, DB2 plans, service definitions, configuration files) required for a specific function or application.
    • Declarative Definition: Often defined using manifest files (e.g., bundle.xml for CICS bundles, server.xml for z/OS Connect EE API packages) that specify the contained resources and their properties.
    • Runtime Management: Managed by specific runtime environments (e.g., a CICS region, a z/OS Connect EE server, or a Liberty profile server) that understand and process the bundle's contents.
    • Portability: Designed to be portable across different z/OS systems or environments, facilitating consistent deployments from development to production.

Use Cases

    • CICS Application Deployment: Deploying a new CICS application or updating an existing one, where the CICS bundle contains programs, transactions, DB2 plans, map sets, and other CICS resources.
    • z/OS Connect EE API Deployment: Packaging RESTful APIs and their associated service providers (e.g., for CICS, IMS, DB2) into a deployable unit for the z/OS Connect EE server.
    • Liberty Profile Application Deployment: Deploying a Java EE application (e.g., a .war or .ear file) along with its specific Liberty server configuration as a cohesive unit on z/OS.
    • Microservice Deployment: Grouping all artifacts for a z/OS-based microservice, which might include COBOL programs, CICS resources, and database access definitions, for unified deployment.

Related Concepts

Bundles represent a modern approach to application deployment on z/OS, contrasting with traditional methods that often involved deploying individual resources separately. They are closely related to application servers like CICS and z/OS Connect EE, which provide the runtime environment for managing and executing bundle contents. Bundles often leverage JCL for batch deployment processes and interact with system libraries (e.g., PDS/PDSEs) where the physical resources reside. They promote a more DevOps-friendly approach by standardizing deployment artifacts and enabling automation.

Best Practices:
  • Granularity: Design bundles to be appropriately granular, grouping only truly related resources to minimize impact during updates and facilitate independent deployment.
  • Versioning: Always version your bundles to enable clear tracking, controlled deployments, and easy rollbacks to previous stable states.
  • Automation: Integrate bundle creation, packaging, and deployment into automated CI/CD pipelines using tools like z/OSMF, IBM UrbanCode Deploy, or Jenkins.
  • Dependency Management: Clearly define and manage dependencies between bundles or external resources to ensure correct deployment order and operational integrity.
  • Security: Ensure bundles only contain necessary resources and that deployment processes adhere to security best practices, including proper authorization and access control.

Related Products

Related Vendors

IBM

646 products

Related Categories

Operating System

154 products