Кіріспе

Ашық кодты веб-қосымшалар сервері

Apache Geronimo – Apache Software Foundation әзірлеген және Apache лицензиясы бойынша таратылатын ашық кодты қосымшалар сервері. Geronimo 3, қазіргі нұсқасы, Java Enterprise Edition (Java EE) 6 талаптарына сәйкес келеді және демек, JMS, Enterprise JavaBeans, Connectors, servlets, JSP, JSF, Unified Expression Language және JavaMail сияқты технологияларды қолдайды. Бұл әзірлеушілерге портативті және кеңейтілген, сондай-ақ, ескі технологиялармен үйлесетін корпоративтік қосымшаларды жасауға мүмкіндік береді. Ескі Geronimo 2 Java EE 5 стандартымен үйлесімді. IBM бұрын жобаны маркетинг, код үлесі және бірнеше жобаны жүзеге асырушыларды қаржыландыру арқылы қолдаған. 2005 жылдың қазан айында IBM өзінің WebSphere қолданба серверінің тегін нұсқасын – Websphere Application Server Community Edition (WASCE) деп жариялады, ол іс жүзінде Geronimo таратылымы болып табылады және атауы коммерциялық WebSphere серверімен байланысты емес. Дегенмен, IBM 2013 жылы WASCE үшін маркетингтік қолдауды және техникалық қолдауды тоқтатты. Басқа коммерциялық демеушілерге AMD, Chariot Solutions, Simula Labs және Virtuas кірді. Apache Geronimo бойынша белсенділік көбінесе тоқтатылды. Бұрынғы Geronimo-ның белсенді қатысушылары, мысалы Дэвид Дженкс және IBM-дегі басқа да мамандар қазір Liberty Profile қолданба серверімен айналысып жатыр.

Құралымдары

Кәсіпорындық операциялық жүйе сияқты, Geronimo ядроға – оның үстіндегі барлық нәрсенің негізін салатын микроядроға құрылған. Geronimo ядросы Java EE-ге тәуелді емес. Оның жалғыз мақсаты – Geronimo құрылыс блоктарын басқару. Geronimo архитектуралық дизайны Кері Бақылау (IoC) (кейде Тәуелділік Инъекциясы деп аталады) тұжырымдамасына негізделген, яғни ядроның оның компоненттерінің ешқайсысына тікелей тәуелділігі жоқ. Ядро – қызметтің өмірлік циклын және тізілімді басқаратын қызметтердің жүйесі. Ядро Java EE-ге негізделген. Ол Java EE қызметтерін және компоненттерін арнайы конфигурацияларды құру үшін пайдаланады, олардың бірі – толық Java EE шешімдер жиынтығы. Geronimo қызметтерінің көпшілігі GBeans арқылы қосылады және жалпы қолданба серверінің бөлігіне айналады. GBean – компонентті ядромен байланыстыратын интерфейс. Әрбір GBean күйін сақтай алады, басқа GBean-ға тәуелді және өзара байланысты болады, сондай-ақ ядродан және басқа GBean-дардан келетін оқиғаларға жұмыс істей алады. GBeans интерфейсі GBeans интерфейсін пайдалану арқылы бүкіл архитектураға әсер етпей, екі сервлет контейнері арасында, мысалы, Jetty немесе Tomcat арасында ауысуға мүмкіндік береді. Бұл икемді архитектура Geronimo әзірлеушілеріне бірнеше сынақтан өткен ашық бастапқы кодты бағдарламалық жобаларды интеграциялауға мүмкіндік береді. Төменде Geronimo жобасына кіретін ашық бастапқы кодты компоненттердің тізімі келтірілген. Компоненттің сипаттамасы: Apache Tomcat – Java Servlet 2.5 және JavaServer Pages (JSP) 2.1 қолдауымен HTTP сервері және Servlet контейнері. Jetty – HTTP сервері және Java Servlet 2.5 және JavaServer Pages 2.1 серверін қолдайтын Servlet контейнері, Tomcat серверіне балама. Apache ActiveMQ – Ашық кодты Java Message Service (JMS) 1.1 қосымшаларын ұсынатын және хабарға негізделген тұқымдарды (MDB) қолдайтын жүйе. Apache OpenEJB – Ашық кодты Enterprise JavaBeans (EJB) контейнерлік жүйесі және Enterprise JavaBeans 3.0 деңгейін қолдайтын EJB сервері, соның ішінде Контейнерлік басқарушы Тұрақтылық 2 (CMP2) және EJB Сұраныс тілі (EJB QL). Apache OpenJPA – Ашық кодты Java Persistence API (JPA) 1.0 іске асыру. Apache ServiceMix – JSR 208 стандартына негізделген ашық кодты Enterprise Service Bus (ESB) және компоненттер жиынтығы. Apache Axis және Apache Scout – Axis – қарапайым объектіге қол жеткізу протоколының (SOAP) іске асырылуы, ал Scout – JSR 93 (JAXR) іске асырылуы. Бұл Web Services және Web Services Interoperability Organization (WS I) Basic Profile қолдауын қамтамасыз етеді. Apache CXF – Web Services SOAP, XML/HTTP, RESTful HTTP немесе CORBA сияқты әртүрлі протоколдармен жұмыс істейтін және HTTP, JMS немесе JBI сияқты әртүрлі көліктермен жұмыс істейтін жүйе. Apache Derby – Java деректер қорының байланысын (JDBC) қолдаумен толыққанды реляциялық деректер қорын басқару жүйесі (RDBMS). Apache WADI – кластерлеу, жүктемені теңестіру және веб-қосымшалар контейнері үшін қателерді жою шешімі. (Қазіргі уақытта жоба Apache Incubator аясында инкубациялануда.) MX4J – Java Management Extensions, ол қолданбаларды, жүйелік объектілерді, құрылғыларды және қызметке бағдарланған желілерді басқару және бақылау үшін құралдарды ұсынады.