{"id":23095085,"url":"https://github.com/microbean/microbean","last_synced_at":"2026-01-16T00:54:59.460Z","repository":{"id":80767977,"uuid":"159241132","full_name":"microbean/microbean","owner":"microbean","description":"microBean™: At the intersection of Java, Kubernetes and the enterprise.","archived":false,"fork":false,"pushed_at":"2018-11-28T00:54:12.000Z","size":5,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-21T17:04:00.437Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://microbean.org/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/microbean.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-11-26T22:25:35.000Z","updated_at":"2020-02-14T20:43:15.000Z","dependencies_parsed_at":null,"dependency_job_id":"f1c04678-289f-4733-970d-21be4c08cfc6","html_url":"https://github.com/microbean/microbean","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microbean%2Fmicrobean","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microbean%2Fmicrobean/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microbean%2Fmicrobean/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/microbean%2Fmicrobean/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/microbean","download_url":"https://codeload.github.com/microbean/microbean/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247063841,"owners_count":20877512,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-12-16T22:19:24.385Z","updated_at":"2026-01-16T00:54:59.453Z","avatar_url":"https://github.com/microbean.png","language":null,"readme":"# \u003ca href=\"http://microbean.org/\"\u003e\u003cimg src=\"https://avatars0.githubusercontent.com/u/25515632?s=100\u0026v=4\"/\u003e\u003cbr/\u003emicroBean™\u003c/a\u003e\n\nAt the intersection of Java, Kubernetes and the enterprise.\n\n## Overview\n\nThe microBean suite of projects brings standards-based\ncomponent-oriented programming in Java to the Kubernetes ecosystem.\n\n## Motivation\n\nJava has been doing standards-defined component-oriented programming\nfor decades.  If you place your `.war` file within a [Java EE (now\nJakarta EE)-compatible application server](https://jakarta.ee/), you\ncan use the standard components it provides.\n\nSuch application servers are frequently (rightly or wrongly) seen as\nbloated.  For those holding this view, they provide too many\ncomponents that do too many things.  You may need only one or two of\nthe dozen or so services they offer, but since Java EE is an\nall-or-nothing bag of components the footprint of your application\ntogether with the application server will be needlessly large.\n\nRecently, [MicroProfile](https://microprofile.io/) has emerged in\nreaction to the all-or-nothing Java EE approach.  It offers up a small\ngrab bag of components that in theory can be used together or apart.\nYou can use just [MicroProfile\nConfig](https://microprofile.io/project/eclipse/microprofile-config),\nfor example, or MicroProfile Config and\n[JAX-RS](https://projects.eclipse.org/projects/ee4j.jaxrs)\ntogether\u0026mdash;hence \"micro\".\n\nBut implementations of MicroProfile to date are still following the\napplication server model.  You take delivery of a product that\n\"supports MicroProfile\" (i.e. all of it) and you deploy your\napplication into it.  Components that you have no need of still tend\nto come along for the ride.\n\nOne of the foundational bits of MicroProfile is\n[CDI](http://cdi-spec.org/) (Contexts and Dependency Injection).  CDI\n2.0 enables a component-oriented programming model, but does not\nrequire that any given component be present.  It also standardizes the\nstartup sequence and lifecycle for a Java SE application, and allows\nplugins (\"portable extensions\") to take part in that lifecycle.\nFinally, it offers features like interceptors, an event bus,\ndependency injection and object lifecycle management.\n\nThe net effect is that a CDI 2.0 implementation functions as a\nbackplane to which components may attach themselves.  It's a\ncommunication and bootstrapping mechanism for cooperating Java\ncomponents.\n\n**microBean fully embraces this philsophy by supplying interesting and\nuseful CDI components for your small, targeted, CDI-based Java SE\napplication to use.**\n\nWhen it's time for production, many of these components are geared\ntowards usage within Kubernetes.  For example, some components\n[provide your application with a Kubernetes client, preconfigured from\nstandard\nsources](https://github.com/microbean/microbean-kubernetes-client-cdi).\nOthers [offer up Kubernetes events, allowing you to write your own\ncontrollers](https://github.com/microbean/microbean-kubernetes-controller-cdi).\n\nOther components are geared toward allowing you to assemble your own\nserver environment.  For example, there are components that [provide\nJPA support](https://github.com/microbean/microbean-jpa-weld-se),\n[annotation-driven\ntransactions](https://github.com/microbean/microbean-narayana-jta-cdi),\nand various [web\nservers](https://github.com/microbean/microbean-helidon-webserver-cdi).\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrobean%2Fmicrobean","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmicrobean%2Fmicrobean","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmicrobean%2Fmicrobean/lists"}