The Dzone Guide to Volume Ii

Total Page:16

File Type:pdf, Size:1020Kb

The Dzone Guide to Volume Ii THE D ZONE GUIDE TO MODERN JAVA VOLUME II BROUGHT TO YOU IN PARTNERSHIP WITH DZONE.COM/GUIDES DZONE’S 2016 GUIDE TO MODERN JAVA Dear Reader, TABLE OF CONTENTS 3 EXECUTIVE SUMMARY Why isn’t Java dead after more than two decades? A few guesses: Java is (still) uniquely portable, readable to 4 KEY RESEARCH FINDINGS fresh eyes, constantly improving its automatic memory management, provides good full-stack support for high- 10 THE JAVA 8 API DESIGN PRINCIPLES load web services, and enjoys a diverse and enthusiastic BY PER MINBORG community, mature toolchain, and vigorous dependency 13 PROJECT JIGSAW IS COMING ecosystem. BY NICOLAI PARLOG Java is growing with us, and we’re growing with Java. Java 18 REACTIVE MICROSERVICES: DRIVING APPLICATION 8 just expanded our programming paradigm horizons (add MODERNIZATION EFFORTS Church and Curry to Kay and Gosling) and we’re still learning BY MARKUS EISELE how to mix functional and object-oriented code. Early next 21 CHECKLIST: 7 HABITS OF SUPER PRODUCTIVE JAVA DEVELOPERS year Java 9 will add a wealth of bigger-picture upgrades. 22 THE ELEMENTS OF MODERN JAVA STYLE But Java remains vibrant for many more reasons than the BY MICHAEL TOFINETTI robustness of the language and the comprehensiveness of the platform. JVM languages keep multiplying (Kotlin went 28 12 FACTORS AND BEYOND IN JAVA GA this year!), Android keeps increasing market share, and BY PIETER HUMPHREY AND MARK HECKLER demand for Java developers (measuring by both new job 31 DIVING DEEPER INTO JAVA DEVELOPMENT posting frequency and average salary) remains high. The key to the modernization of Java is not a laundry-list of JSRs, but 34 INFOGRAPHIC: JAVA'S IMPACT ON THE MODERN WORLD rather the energy of the Java developer community at large. 36 FROM DESKTOP TO WEB JAVA: A PLANNER’S GUIDE TO MIGRATION In fact, the enthusiasm of practicing developers has been BY BEN WILSON Java’s strength since the beginning. The Java platform has 40 HASH TABLES, MUTABILITY, AND IDENTITY: always been backed, but never limited, by a single entity. HOW TO IMPLEMENT A BI-DIRECTIONAL HASH TABLE IN JAVA Sun first made Java for their own enterprise hardware BY WAYNE CITRIN and software ecosystem, but WORA made everyone else want to use it, too. Microsoft failed to fork Java onto a 42 EXECUTIVE INSIGHTS INTO JAVA DEVELOPMENT Windows-flavored JVM because the developer community BY TOM SMITH – spearheaded by Javalobby, DZone in its earliest form – 46 JAVA SOLUTIONS DIRECTORY understood the vital importance of a platform-neutral, industrial-strength, object-oriented language. Google is plenty 55 GLOSSARY gung-ho to create its own languages (Go, Dart) but chose Java for Android – fatefully, since now Java powers far more feature and smart phones than any other language. A few months EDITORIAL BUSINESS PRODUCTION ago Red Hat, IBM, Tomitribe, Payara, and other groups banded CAITLIN CANDELMO RICK ROSS CHRIS SMITH DIRECTOR OF CONTENT + COMMUNITY CEO together to sketch out the beginnings of a specification for DIRECTOR OF PRODUCTION MATT WERNER MATT SCHMIDT ANDRE POWELL microservice support in Java – just the most recent of many CONTENT + COMMUNITY MANAGER PRESIDENT & CTO SENIOR PRODUCTION COORDINATOR platform-driving endeavors of the Java community beyond the MICHAEL THARRINGTON JESSE DAVIS CONTENT + COMMUNITY MANAGER G. RYAN SPAIN formal JCP. EVP & COO PRODUCTION PUBLICATIONS EDITOR NICOLE WOLFE CONTENT COORDINATOR KELLET ATKINSON One of the more convenient effects of Java’s strong DIRECTOR OF MARKETING commitment to backwards compatibility is that we don’t MIKE GATES ART CONTENT COORDINATOR MATT O’BRIAN ASHLEY SLATE have to change when the language and/or platform do. But [email protected] DESIGN DIRECTOR SARAH DAVIS DIRECTOR OF BUSINESS DEVELOPMENT those changes aren’t determined by corporate or academic CONTENT COORDINATOR ALEX CRAFTS experiment. A broad-based community means that the Java SPECIAL THANKS to our INDUSTRY + VENDOR DIRECTOR OF MAJOR ACCOUNTS topic experts, Zone Leaders, ecosystem evolves in response to developers’ changing real- RELATIONS JIM HOWARD trusted DZone Most Valuable world needs. We’re steering this ship; let’s ride it as fast and SR ACCOUNT EXECUTIVE JOHN ESPOSITO Bloggers, and dedicated users as far as it can take us. SENIOR RESEARCH ANALYST CHRIS BRUMFIELD for all their help and feedback in TOM SMITH ACCOUNT MANAGER making this report a great success. So here at DZone we’re thrilled to publish our 2016 Guide to RESEARCH ANALYST Modern Java. No other language has benefited the world as much as Java, and we’re proud to be a part of that ecosystem. We know you are too, and we hope you’ll be able to do even WANT YOUR SOLUTION TO BE FEATURED IN COMING GUIDES? Please contact [email protected] for submission information. more with Java after reading this Guide. LIKE TO CONTRIBUTE CONTENT TO COMING GUIDES? BY JOHN ESPOSITO Please contact [email protected] for consideration. SENIOR RESEARCH ANALYST, DZONE INTERESTED IN BECOMING A DZONE RESEARCH PARTNER? [email protected] Please contact [email protected] for information. 2 DZONE’S GUIDE TO MODERN JAVA DZONE.COM/GUIDES DZONE’S 2016 GUIDE TO MODERN JAVA of view, dive deeper into the lambda calculus. Celebrate your Executive shrinking chances of cursing the existence of Null. MICROSERVICES ADOPTION IS GROWING STEADILY DATA In August 2015, 10% of developers were using microservices; in January 2016, 24% were using microservices somewhere in their organization; in a report just published Summary by Lightbend, 30% are using microservices in production; and, in our latest survey, 39% of developers are currently The most successful programming language in history using microservices, and another 19% are planning to adopt microservices in the next 12 months. owes much of its continuing vitality to the most effective development community in history. More than IMPLICATIONS No matter how old the concept, and no matter any other widely used programming language, Java how much you appreciate the headaches of locating complexity learns from and responds to millions of developers’ in the entire component graph rather than individual nodes, developers are already architecting their applications as needs; and the most important perspective on how microservices at significant rates and will doing so even more in Java is working well, and what Java needs to do better, the near future. comes from experienced software engineers spending hours every day in their Java weeds. Is Java doing its RECOMMENDATIONS Consider how you might refactor your job? We surveyed 2977 developers to find out. And we "monolithic" applications into microservices, even if you decide to retain your "monolith" in production. Become more familiar went deeper, seeking to discover exactly how developers with distributed computing principles. Practice domain-driven are using Java to solve today’s business problems, on design. Read Markus Eisele’s article on page 16 below. modern deployment topologies, using modern release practices, in shortening release cycles, with increasingly NON-JAVA JVM LANGUAGES ARE PROLIFERATING modularized application architectures, meeting AND ENJOYING MORE USE, ESPECIALLY SCALA increasingly stringent performance requirements. DATA 45% of developers are using Groovy, up from 39% in 2015. Here’s what we learned. 41% are using Scala in development (18%), in production (10%), and/or just for fun (26%), up from 31% in 2015. Clojure use has JAVA 8 IS NOW DOMINANT doubled over the past year, and Kotlin is now used in significant DATA 84% of developers are now using Java 8, showing steady numbers, although still mostly just for fun. growth from October 2014 (27%) through May 2015 (38%), August 2015 (58%), and March 2016 (64%). IMPLICATIONS The JVM continues to gain momentum even among non-Java developers. JVM developers are increasingly IMPLICATIONS Java 8 is the new normal. You are increasingly playing with programming models beyond object-orientation. (and now extremely) likely to encounter Java 8 code in others’ For all the valuable readability introduced by Java’s verbosity, the applications (especially applications created in the past year), syntactic sugar offered by Kotlin and Groovy, for example, is not and you will be increasingly expected to be able to write code in to be dismissed lightly. idioms influenced by Java 8. RECOMMENDATIONS Play with other JVM languages: Groovy RECOMMENDATIONS Take advantage of features new to Java 8 for high-productivity scripting, Scala for type-safe and multi- and assume that you will encounter Java 8 in other developers’ paradigm programming, Clojure for Lisp-like macros and code. For more on modern Java API design, check out Per code-as-data functional purity, Kotlin for the pleasure of rapid Minborg’s article on page 10. development and beyond-Groovy performance on Android. DEVELOPERS ARE USING NEW-TO-JAVA-8 FEATURES THE FUTURE OF JAVA LOOKS BRIGHT EXTENSIVELY, ESPECIALLY LAMBDAS AND STREAMS DATA 80% of developers are optimistic about the future of Java DATA 73% of developers are using lambdas. 70% are using the (42% "very optimistic," 40% "fairly optimistic"). Stream API. 51% are returning Optionals. IMPLICATIONS Java is neither dead nor dying. Java developers have IMPLICATIONS Two of the three most important features new both the highest stakes in the future of Java and also the deepest, to Java 8 are now used by a large majority of developers. Both most information-rich engagement with the Java community; so (lambdas and streams) facilitate function composition and (for developers’ aggregate opinions on the future of Java should be an certain kinds of function pipelines) more readable code. Multi- excellent indicator of the health of the ecosystem. paradigm programming in Java is a reality. Separately: as Optional usage increases, NullPointerExceptions become less likely. RECOMMENDATIONS Keep writing Java. Contribute to open- source Java projects. Participate actively in the community- RECOMMENDATIONS To exercise your modern Java muscles, driven improvement of the Java platform, whether via the JCP practice refactoring code using lambdas, streams, and Optionals.
Recommended publications
  • Notice Report
    NetApp Notice Report Copyright 2020 About this document The following copyright statements and licenses apply to the software components that are distributed with the Active IQ Platform product released on 2020-05-13 05:40:47. This product does not necessarily use all the software components referred to below. Where required, source code is published at the following location. ftp://ftp.netapp.com/frm-ntap/opensource 1 Components: Component License Achilles Core 5.3.0 Apache License 2.0 An open source Java toolkit for Amazon S3 0.9.0 Apache License 2.0 Apache Avro 1.7.6-cdh5.4.2.1.1 Apache License 2.0 Apache Avro 1.7.6-cdh5.4.4 Apache License 2.0 Apache Commons BeanUtils 1.7.0 Apache License 2.0 Apache Commons BeanUtils 1.8.0 Apache License 2.0 Apache Commons CLI 1.2 Apache License 2.0 Apache Commons Codec 1.9 Apache License 2.0 Apache Commons Collections 3.2.1 Apache License 2.0 Apache Commons Compress 1.4.1 Apache License 2.0 Apache Commons Configuration 1.6 Apache License 2.0 Apache Commons Digester 1.8 Apache License 1.1 Apache Commons Lang 2.6 Apache License 2.0 Apache Commons Logging 1.2 Apache License 2.0 Apache Commons Math 3.1.1 Apache License 2.0 Apache Commons Net 3.1 Apache License 2.0 Apache Directory API ASN.1 API 1.0.0-M20 Apache License 2.0 Apache Directory LDAP API Utilities 1.0.0-M19 Apache License 2.0 Apache Directory LDAP API Utilities 1.0.0-M20 Apache License 2.0 Apache Directory Studio 2.0.0-M15 Apache License 2.0 Apache Directory Studio 2.0.0-M20 Apache License 2.0 2 Apache Hadoop Annotations 2.6.0-cdh5.4.4 Apache
    [Show full text]
  • Myriad: Resource Sharing Beyond Boundaries
    Resource Sharing Beyond Boundaries Mohit Soni Santosh Marella Adam Bordelon Anoop Dawar Ben Hindman Brandon Gulla Danese Cooper Darin Johnson Jim Klucar Kannan Rajah Ken Sipe Luciano Resende Meghdoot Bhattacharya Paul Reed Renan DelValle Ruth Harris Shingo Omura Swapnil Daingade Ted Dunning Will Ochandarena Yuliya Feldman Zhongyue Luo Agenda What's up with Datacenters these days? Apache Mesos vs. Apache Hadoop/YARN? Why would you want/need both? Resource Sharing with Apache Myriad What's running on your datacenter? Tier 1 services Tier 2 services High Priority Batch Best Effort, backfill Requirements Programming models based on resources, not machines Custom resource types Custom scheduling algorithms: Fast vs. careful/slow Lightweight executors, fast task launch time Multi-tenancy, utilization, strong isolation Hadoop and More Support Hadoop/BigData ecosystem Support arbitrary (legacy) processes/containers Connect Big Data to non-Hadoop apps, share data, resources Mesos from 10,000 feet Open Source Apache project Cluster Resource Manager Scalable to 10,000s of nodes Fault-tolerant, no SPOF Multi-tenancy, Resource Isolation Improved resource utilization Mesos is more than Yet Another Resource Negotiator Long-running services; real-time jobs Native Docker; cgroups for years; Isolate cpu/mem/disk/net/other Distributed systems SDK; ~200 loc for a new app Core written in C++ for performance, Apps in any language Why two resource managers? Static Partitioning sucks Hadoop teams fine with isolated clusters, but Ops team unhappy; slow
    [Show full text]
  • Modern Web Application Frameworks
    MASARYKOVA UNIVERZITA FAKULTA INFORMATIKY Û¡¢£¤¥¦§¨ª«¬­Æ°±²³´µ·¸¹º»¼½¾¿Ý Modern Web Application Frameworks MASTER’S THESIS Bc. Jan Pater Brno, autumn 2015 Declaration Hereby I declare, that this paper is my original authorial work, which I have worked out by my own. All sources, references and literature used or ex- cerpted during elaboration of this work are properly cited and listed in complete reference to the due source. Bc. Jan Pater Advisor: doc. RNDr. Petr Sojka, Ph.D. i Abstract The aim of this paper was the analysis of major web application frameworks and the design and implementation of applications for website content ma- nagement of Laboratory of Multimedia Electronic Applications and Film festival organized by Faculty of Informatics. The paper introduces readers into web application development problematic and focuses on characte- ristics and specifics of ten selected modern web application frameworks, which were described and compared on the basis of relevant criteria. Practi- cal part of the paper includes the selection of a suitable framework for im- plementation of both applications and describes their design, development process and deployment within the laboratory. ii Keywords Web application, Framework, PHP,Java, Ruby, Python, Laravel, Nette, Phal- con, Rails, Padrino, Django, Flask, Grails, Vaadin, Play, LEMMA, Film fes- tival iii Acknowledgement I would like to show my gratitude to my supervisor doc. RNDr. Petr So- jka, Ph.D. for his advice and comments on this thesis as well as to RNDr. Lukáš Hejtmánek, Ph.D. for his assistance with application deployment and server setup. Many thanks also go to OndˇrejTom for his valuable help and advice during application development.
    [Show full text]
  • Installation of Portal Applications
    TIBCO Foresight® Transaction Insight® Installation of Portal Applications Software Release 5.2 September 2017 Two-Second Advantage® Important Information SOME TIBCO SOFTWARE EMBEDS OR BUNDLES OTHER TIBCO SOFTWARE. USE OF SUCHEM BEDDED OR BUNDLED TIBCO SOFTWARE IS SOLELY TO ENABLE THE FUNCTIONALITY (OR PROVIDE LIMITED ADD-ON FUNCTIONALITY) OF THE LICENSED TIBCO SOFTWARE. THE EMBEDDED OR BUNDLED SOFTWARE IS NOT LICENSED TO BE USED OR ACCESSED BY ANY OTHER TIBCO SOFTWARE OR FOR ANY OTHER PURPOSE. USE OF TIBCO SOFTWARE AND THIS DOCUMENT IS SUBJECT TO THE TERMS AND CONDITIONS OF A LICENSE AGREEMENT FOUND IN EITHER A SEPARATELY EXECUTED SOFTWARE LICENSE AGREEMENT, OR, IF THERE IS NO SUCH SEPARATE AGREEMENT, THE CLICKWRAP END USER LICENSE AGREEMENT WHICH IS DISPLAYED DURING DOWNLOAD OR INSTALLATION OF THE SOFTWARE (AND WHICH IS DUPLICATED IN THE LICENSE FILE) OR IF THERE IS NO SUCH SOFTWARE LICENSE AGREEMENT OR CLICKWRAP END USER LICENSE AGREEMENT, THE LICENSE(S) LOCATED IN THE “LICENSE” FILE(S) OF THE SOFTWARE. USE OF THIS DOCUMENT IS SUBJECT TO THOSE TERMS AND CONDITIONS, AND YOUR USE HEREOF SHALL CONSTITUTE ACCEPTANCE OF AND AN AGREEMENT TO BE BOUND BY THE SAME. This document contains confidential information that is subject to U.S. and international copyright laws and treaties. No part of this document may be reproduced in any form without the written authorization of TIBCO Software Inc. TIBCO, Two-Second Advantage, TIBCO BusinessConnect Insight, TIBCO Foresight Archive and Retrieval System, TIBCO Foresight BI Bridge – BAM, TIBCO Foresight EDISIM, TIBCO Foresight Instream, TIBCO Foresight Operational Monitor, TIBCO Foresight Studio, TIBCO Foresight Test Asset Management Suite, and TIBCO Foresight Transaction Insight are either registered trademarks or trademarks of TIBCO Software Inc.
    [Show full text]
  • Is 'Distributed' Worth It? Benchmarking Apache Spark with Mesos
    Is `Distributed' worth it? Benchmarking Apache Spark with Mesos N. Satra (ns532) January 13, 2015 Abstract A lot of research focus lately has been on building bigger dis- tributed systems to handle `Big Data' problems. This paper exam- ines whether typical problems for web-scale companies really benefits from the parallelism offered by these systems, or can be handled by a single machine without synchronisation overheads. Repeated runs of a movie review sentiment analysis task in Apache Spark were carried out using Apache Mesos and Mesosphere, on Google Compute Engine clusters of various sizes. Only a marginal improvement in run-time was observed on a distributed system as opposed to a single node. 1 Introduction Research in high performance computing and `big data' has recently focussed on distributed computing. The reason is three-pronged: • The rapidly decreasing cost of commodity machines, compared to the slower decline in prices of high performance or supercomputers. • The availability of cloud environments like Amazon EC2 or Google Compute Engine that let users access large numbers of computers on- demand, without upfront investment. • The development of frameworks and tools that provide easy-to-use id- ioms for distributed computing and managing such large clusters of machines. Large corporations like Google or Yahoo are working on petabyte-scale problems which simply can't be handled by single computers [9]. However, 1 smaller companies and research teams with much more manageable sizes of data have jumped on the bandwagon, using the tools built by the larger com- panies, without always analysing the performance tradeoffs. It has reached the stage where researchers are suggesting using the same MapReduce idiom hammer on all problems, whether they are nails or not [7].
    [Show full text]
  • Return of Organization Exempt from Income
    OMB No. 1545-0047 Return of Organization Exempt From Income Tax Form 990 Under section 501(c), 527, or 4947(a)(1) of the Internal Revenue Code (except black lung benefit trust or private foundation) Open to Public Department of the Treasury Internal Revenue Service The organization may have to use a copy of this return to satisfy state reporting requirements. Inspection A For the 2011 calendar year, or tax year beginning 5/1/2011 , and ending 4/30/2012 B Check if applicable: C Name of organization The Apache Software Foundation D Employer identification number Address change Doing Business As 47-0825376 Name change Number and street (or P.O. box if mail is not delivered to street address) Room/suite E Telephone number Initial return 1901 Munsey Drive (909) 374-9776 Terminated City or town, state or country, and ZIP + 4 Amended return Forest Hill MD 21050-2747 G Gross receipts $ 554,439 Application pending F Name and address of principal officer: H(a) Is this a group return for affiliates? Yes X No Jim Jagielski 1901 Munsey Drive, Forest Hill, MD 21050-2747 H(b) Are all affiliates included? Yes No I Tax-exempt status: X 501(c)(3) 501(c) ( ) (insert no.) 4947(a)(1) or 527 If "No," attach a list. (see instructions) J Website: http://www.apache.org/ H(c) Group exemption number K Form of organization: X Corporation Trust Association Other L Year of formation: 1999 M State of legal domicile: MD Part I Summary 1 Briefly describe the organization's mission or most significant activities: to provide open source software to the public that we sponsor free of charge 2 Check this box if the organization discontinued its operations or disposed of more than 25% of its net assets.
    [Show full text]
  • Sun Glassfish Enterprise Server V3 Preludetroubleshooting Guide
    Sun GlassFish Enterprise Server v3 PreludeTroubleshooting Guide Sun Microsystems, Inc. 4150 Network Circle Santa Clara, CA 95054 U.S.A. Part No: 820–6823–10 November 2008 Copyright 2008 Sun Microsystems, Inc. 4150 Network Circle, Santa Clara, CA 95054 U.S.A. All rights reserved. Sun Microsystems, Inc. has intellectual property rights relating to technology embodied in the product that is described in this document. In particular, and without limitation, these intellectual property rights may include one or more U.S. patents or pending patent applications in the U.S. and in other countries. U.S. Government Rights – Commercial software. Government users are subject to the Sun Microsystems, Inc. standard license agreement and applicable provisions of the FAR and its supplements. This distribution may include materials developed by third parties. Parts of the product may be derived from Berkeley BSD systems, licensed from the University of California. UNIX is a registered trademark in the U.S. and other countries, exclusively licensed through X/Open Company, Ltd. Sun, Sun Microsystems, the Sun logo, the Solaris logo, the Java Coffee Cup logo, docs.sun.com, Enterprise JavaBeans, EJB, GlassFish, J2EE, J2SE, Java Naming and Directory Interface, JavaBeans, Javadoc, JDBC, JDK, JavaScript, JavaServer, JavaServer Pages, JMX, JSP,JVM, MySQL, NetBeans, OpenSolaris, SunSolve, Sun GlassFish, Java, and Solaris are trademarks or registered trademarks of Sun Microsystems, Inc. or its subsidiaries in the U.S. and other countries. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. in the U.S. and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc.
    [Show full text]
  • Dsa-Cl Iii — Winter Term 2018-19
    DSA-CL III — WINTER TERM 2018-19 DATA STRUCTURES AND ALGORITHMS FOR COMPUTATIONAL LINGUISTICS III CLAUS ZINN Çağrı Çöltekin https://dsacl3-2018.github.io DSA-CL III course overview What is DSA-CL III? ・Intermediate-level survey course. ・Programming and problem solving, with applications. – Algorithm: method for solving a problem. – Data structure: method to store information. ・Second part focused on Computational Linguistics Prerequisites: ・Data Structures and Algorithms for CL I ・Data Structures and Algorithms for CL II Lecturers: Tutors: Slots: ・Çağrı Çöltekin ・Marko Lozajic ・Mon 12:15 & 18:00 (R 0.02) ・Claus Zinn ・Michael Watkins ・Wed 14:15 — 18:00 (lab) Course Materials: https://dsacl3-2018.github.io 2 Coursework and grading Reading material for most lectures Weekly programming assignments Four graded assignments. 60% ・Due on Tuesdays at 11pm via electronic submission (Github Classroom) ・Collaboration/lateness policies: see web. Written exam. 40% ・Midterm practice exam 0% ・Final exam 40% 3 Honesty Statement Honesty statement: ・Feel free to cooperate on assignments that are not graded. ・Assignments that are graded must be your own work. Do not: – Copy a program (in whole or in part). – Give your solution to a classmate (in whole or in part). – Get so much help that you cannot honestly call it your own work. – Receive or use outside help. ・Sign your work with the honesty statement (provided on the website). ・Above all: You are here for yourself, practice makes perfection. 4 Organisational issues Presence: ・A presence sheet is circulated purely for statistics. ・Experience: those who do not attend lectures or do not make the assignments usually fail the course.
    [Show full text]
  • 4.3.0 Third Party License Files
    Third Party Terms Third Party License(s) of Terracotta Version 4.3 THE FOLLOWING THIRD PARTY COMPONENTS MAY BE UTILIZED, EMBEDDED, BUNDLED OR OTHERWISE INCLUDED IN SOME OF THE PRODUCTS ("Product") YOU HAVE LICENSED FROM TERRACOTTA, INC..THESE THIRD PARTY COMPONENTS MAY BE SUBJECT TO ADDITIONAL OR DIFFERENT LICENSE RIGHTS, TERMS AND CONDITIONS AND / OR REQUIRE CERTAIN NOTICES BY THEIR THIRD PARTY LICENSORS. SOFTWARE AG IS OBLIGED TO PASS ANY CURRENT AND FUTURE TERMS OF SUCH LICENSES THROUGH TO ITS LICENSEES. TP Product Name TP Product Version apache-commons-io 2.4 apache-commons-lang 2.5 apache-commons-logging 1.0.3 apache-jakarta-commons-beanutils 1.8.3 apache-jakarta-commons-cli 1.1 apache-jakarta-commons-collections 3.2.1 apache-jakarta-commons-logging 1.1.1 apache-log4j 1.2.17 apache-shiro 1.2.3 apache-xmlbeans 2.4.0 beanshell-project 2.0b4 commons-lang 2.6 fasterxml-jackson-annotations 2.3 gf.aopalliance-repackaged.jar 2.2.0 gf.hk2.api.jar 2.2.0 gf.hk2.locator.jar 2.2.0 Copyright (c) 2015 Software AG, Darmstadt, Germany Third Party License(s) of Terracotta Version 4.3 TP Product Name TP Product Version gf.hk2-utils.jar 2.2.0 gf.javax.annotation-api.jar 1.20 gf.javax.annotation.jar 1.1 gf.javax.inject.jar 2.2.0 gf.javax.jms.jar 1.1 gf.javax.mail.jar 1.4.4 (API 1.4) gf.javax.security.auth.message.jar 1.0 gf.javax.servlet-api.jar 3.0.1 gf.javax.transaction.jar 1.1 gf.javax.ws.rs-api.jar 2.00 gf.jersey-client.jar 2.6.0 gf.jersey-common.jar 2.6.0 gf.jersey-container-servlet-core.jar 2.6.0 gf.jersey-container-servlet.jar 2.6 gf.jersey-guava.jar
    [Show full text]
  • Rakuten Card Smoothly Transition to Cloud-Native Architecture With
    Case Study RakutenCase Study Card Smoothly Transition to Cloud-Native Architecture with Payara Server About Rakuten Card Established as its own credit card Enterprise brand in 2005, Rakuten Card Co. Ltd. is a Japanese credit card company formerly known as Rakuten Credit Inc. It has been recognised for In late 2017, Rakuten Card needed a reliable application server for its customer fac- achieving the number one credit card ing web applications. It found its best solution in Payara Server Enterprise: migrating shopping gross transaction value in Japan and hit the milestone of 20 in October 2017 for regular updates, improved support and services helping them in million credit card members in June achieving 99.9999% middleware availability. Two years later, Rakuten Card moved 2020. to a cloud-native architecture. It found Payara’s low maintenance technology and cloud-orientated features ensured a smooth transition with a stable version and flawless successful deployment. Industry: • Financial Challenges: The Initial Move to Payara Server • Banking Service Rakuten Card faced difficulties with its previous application server’s critical pending CVE bugs, memory leaks and sporadic errors without proper explanation in a stack Location: Tokyo, Japan trace. The expensive commercial support was too slow, and patches released intro- duced worsened security holes. Rakuten Card were looking for a support team who Software & Services: were well versed in Java based frameworks and could communicate in technical ter- • Payara Server Enterprise minology while resolving issues. • Java EE/Jakarta EE Moving to Payara Server Enterprise solved these issues, by providing monthly releases, bug fixes and patches, security improvements, and support directly from engineers within the Jakarta EE (Java EE) community.
    [Show full text]
  • Tooling Support for Enterprise Development
    TOOLING SUPPORT FOR ENTERPRISE DEVELOPMENT RYAN CUPRAK & REZA RAHMAN JAVA EE DEVELOPMENT • Java EE has had a bad reputation: • Too complicated • Long build times • Complicated/expensive tooling • Copious amounts of repetitive code • Expensive application servers • Overkill for most projects • Times have changed since 2000! • Java EE 5 made great strides leveraging new features introduced in Java 5. Java EE 6 pushes us forward. • Excellent tooling support combined with a simplification of features makes Java EE development fast, easy, and clean (maintainable). • It is Java EE – NOT J2EE!!! OBJECTIVE Challenge: Starting a new project is often painful. In this presentation you’ll learn: • How to setup a new Java EE project. • Disconnect between theory and practice. • Tools that you should consider learning/adding. • Best practices for Java EE development from tools side. When is the last time you evaluated your tools? APPLICATION TYPES Types of Java EE applications: • Prototype – verify technology, try different techniques, learn new features. • Throw-away – application which has a short-life space, temporary use. • Internal/external portal – application with a long life expectancy and which will grow over time. • Minimize dependence on tools. • Product – an application which deployed at a more than one customer site. Possibly multiple code branches. • Minimize dependence on tools. Life expectancy drives tooling decisions. PRELIMINARIES Considerations for a Java EE toolbox: • Build system: Ant, Maven, IDE specific? • Container: GlassFish/JBoss/ WebLogic/etc. • Technologies: EJB/JPA/CDI/JSF • IDE: Eclipse, NetBeans, IntelliJ IDEA • Other tools: Unit testing, integration testing, UI testing, etc. IDES • NetBeans • Easy to use Java EE templates. • Includes a pre-configured GlassFish container.
    [Show full text]
  • Kubernetes As an Availability Manager for Microservice Based Applications Leila Abdollahi Vayghan
    Kubernetes as an Availability Manager for Microservice Based Applications Leila Abdollahi Vayghan A Thesis in the Department of Computer Science and Software Engineering Presented in Partial Fulfillment of the Requirements for the Degree of Master of Computer Science at Concordia University Montreal, Quebec, Canada August 2019 © Leila Abdollahi Vayghan, 2019 CONCORDIA UNIVERSITY SCHOOL OF GRADUATE STUDIES This is to certify that the thesis prepared By: Leila Abdollahi Vayghan Entitled: Kubernetes as an Availability Manager for Microservice Based Applications and submitted in partial fulfillment of the requirements for the degree of Master in Computer Science complies with the regulations of the University and meets the accepted standards with respect to originality and quality. Signed by the final examining committee: ________________________________________________ Chair Dr. P. Rigby ________________________________________________ Internal Examiner Dr. D. Goswami ________________________________________________ Internal Examiner Dr. J. Rilling ________________________________________________ Co-Supervisor Dr. F. Khendek ________________________________________________ Co-Supervisor Dr. M. Toeroe Approved by: ___________________________________ Dr. L. Narayanan, Chair Department of Computer Science and Software Engineering _______________ 2019___ __________________________________ Dr. Amir Asif, Dean, Faculty of Engineering and Computer Science ii ABSTRACT Kubernetes as an Availability Manager for Microservice Based Applications Leila
    [Show full text]