Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
Hands-On Software Architecture with Java
Hands-On Software Architecture with Java

Hands-On Software Architecture with Java: Learn key architectural techniques and strategies to design efficient and elegant Java applications

Arrow left icon
Profile Icon Giuseppe Bonocore
Arrow right icon
£16.99 per month
Full star icon Full star icon Full star icon Full star icon Half star icon 4.6 (7 Ratings)
Paperback Mar 2022 510 pages 1st Edition
eBook
£28.99 £32.99
Paperback
£41.99
Subscription
Free Trial
Renews at £16.99p/m
Arrow left icon
Profile Icon Giuseppe Bonocore
Arrow right icon
£16.99 per month
Full star icon Full star icon Full star icon Full star icon Half star icon 4.6 (7 Ratings)
Paperback Mar 2022 510 pages 1st Edition
eBook
£28.99 £32.99
Paperback
£41.99
Subscription
Free Trial
Renews at £16.99p/m
eBook
£28.99 £32.99
Paperback
£41.99
Subscription
Free Trial
Renews at £16.99p/m

What do you get with a Packt Subscription?

Free for first 7 days. £16.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing
Table of content icon View table of contents Preview book icon Preview Book

Hands-On Software Architecture with Java

Chapter 1: Designing Software Architectures in Java – Methods and Styles

In this chapter, we will focus on some core concepts that we can use as a base to build on in the upcoming chapters. We will explore different ways to represent the software architecture, paying attention to the intended audience and their specific point of view. Additionally, we will elaborate on the importance of a proper architectural design and its role in the software development life cycle. Following this, we will move on to the Java ecosystem, which is the core topic of this book, to discover why it’s a good choice for implementing a complete enterprise application.

In particular, we will cover the following topics:

  • The importance of software architecture
  • Different types of architecture design – from doodling on paper to more accurate modeling
  • Other kinds of architectural diagrams
  • The changing role of Java in cloud-native applications
  • Case studies and examples
  • Software components diagram

By the end of this chapter, you should have a clear view of why design is a critical part of the software development process and what the main types of architecture schemas are. Additionally, you will become familiar with the role of Java technology in modern application development.

These skills are crucial for implementing functional and elegant software solutions. It will also be a good basis for personal development and career enhancement.

Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Understand the fundamentals of software architecture and build production-grade applications in Java
  • Make smart architectural decisions with comprehensive coverage of various architectural approaches from SOA to microservices
  • Gain an in-depth understanding of deployment considerations with cloud and CI/CD pipelines

Description

Well-written software architecture is the core of an efficient and scalable enterprise application. Java, the most widespread technology in current enterprises, provides complete toolkits to support the implementation of a well-designed architecture. This book starts with the fundamentals of architecture and takes you through the basic components of application architecture. You'll cover the different types of software architectural patterns and application integration patterns and learn about their most widespread implementation in Java. You'll then explore cloud-native architectures and best practices for enhancing existing applications to better suit a cloud-enabled world. Later, the book highlights some cross-cutting concerns and the importance of monitoring and tracing for planning the evolution of the software, foreseeing predictable maintenance, and troubleshooting. The book concludes with an analysis of the current status of software architectures in Java programming and offers insights into transforming your architecture to reduce technical debt. By the end of this software architecture book, you'll have acquired some of the most valuable and in-demand software architect skills to progress in your career.

Who is this book for?

This book is for Java software engineers who want to become software architects and learn everything a modern software architect needs to know. The book is also for software architects, technical leaders, vice presidents of software engineering, and CTOs looking to extend their knowledge and stay up to date with the latest developments in the field of software architecture.

What you will learn

  • Understand the importance of requirements engineering, including functional versus non-functional requirements
  • Explore design techniques such as domain-driven design, test-driven development (TDD), and behavior-driven development
  • Discover the mantras of selecting the right architectural patterns for modern applications
  • Explore different integration patterns
  • Enhance existing applications with essential cloud-native patterns and recommended practices
  • Address cross-cutting considerations in enterprise applications regardless of architectural choices and application type

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Mar 16, 2022
Length: 510 pages
Edition : 1st
Language : English
ISBN-13 : 9781800207301
Category :
Languages :
Tools :

What do you get with a Packt Subscription?

Free for first 7 days. £16.99 p/m after that. Cancel any time!
Product feature icon Unlimited ad-free access to the largest independent learning library in tech. Access this title and thousands more!
Product feature icon 50+ new titles added per month, including many first-to-market concepts and exclusive early access to books as they are being written.
Product feature icon Innovative learning tools, including AI book assistants, code context explainers, and text-to-speech.
Product feature icon Thousands of reference materials covering every tech concept you need to stay up to date.
Subscribe now
View plans & pricing

Product Details

Publication date : Mar 16, 2022
Length: 510 pages
Edition : 1st
Language : English
ISBN-13 : 9781800207301
Category :
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
£16.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
£169.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just £5 each
Feature tick icon Exclusive print discounts
£234.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just £5 each
Feature tick icon Exclusive print discounts

Frequently bought together


Stars icon
Total £ 109.97
Hands-On Software Architecture with Java
£41.99
Designing Hexagonal Architecture with Java
£35.99
Domain-Driven Design with Java - A Practitioner's Guide
£31.99
Total £ 109.97 Stars icon

Table of Contents

19 Chapters
Section 1: Fundamentals of Software Architectures Chevron down icon Chevron up icon
Chapter 1: Designing Software Architectures in Java – Methods and Styles Chevron down icon Chevron up icon
Chapter 2: Software Requirements – Collecting, Documenting, Managing Chevron down icon Chevron up icon
Chapter 3: Common Architecture Design Techniques Chevron down icon Chevron up icon
Chapter 4: Best Practices for Design and Development Chevron down icon Chevron up icon
Chapter 5: Exploring the Most Common Development Models Chevron down icon Chevron up icon
Section 2: Software Architecture Patterns Chevron down icon Chevron up icon
Chapter 6: Exploring Essential Java Architectural Patterns Chevron down icon Chevron up icon
Chapter 7: Exploring Middleware and Frameworks Chevron down icon Chevron up icon
Chapter 8: Designing Application Integration and Business Automation Chevron down icon Chevron up icon
Chapter 9: Designing Cloud-Native Architectures Chevron down icon Chevron up icon
Chapter 10: Implementing User Interaction Chevron down icon Chevron up icon
Chapter 11: Dealing with Data Chevron down icon Chevron up icon
Section 3: Architectural Context Chevron down icon Chevron up icon
Chapter 12: Cross-Cutting Concerns Chevron down icon Chevron up icon
Chapter 13: Exploring the Software Life Cycle Chevron down icon Chevron up icon
Chapter 14: Monitoring and Tracing Techniques Chevron down icon Chevron up icon
Chapter 15: What's New in Java? Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon

Customer reviews

Top Reviews
Rating distribution
Full star icon Full star icon Full star icon Full star icon Half star icon 4.6
(7 Ratings)
5 star 57.1%
4 star 42.9%
3 star 0%
2 star 0%
1 star 0%
Filter icon Filter
Top Reviews

Filter reviews by




Mohit May 24, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
Being a Java Architect and an avid reader, I am always on the lookout for holiday reads which will allow me to pack a few extra knowledge muscles. HoSAJ qualifies on both metrics.Giuseppe, the Author, has taken an intelligent approach to not just flood the user with Patterns & Practices but to develop the book in a logical manner. The author begins from the very beginning and explains in very simple terms, what is an Architect? what is Architecture? why do we need all this?The author contrasts the various Software development methodologies like Waterfall and Agile so that the reader gets the complete picture of their working landscape and chooses not just the right architecture but the right development model for their specific project. I find this a unique aspect of this book. It doesn't just teach you the right tools but also tells you the context in which the right tool is the right choice.The book also touches on Java history, how it evolved and what was the initial thought process behind JEE server development, and how it has evolved to support cloud-native microservices. The choice of specification for implementation here is the cloud-native alternative of JEE standard - MicroProfile and the framework used is Quarkus. And all this is tied together with a nice mobile payments case study that helps the readers consolidate their learning in every chapter.Overall, a very refreshing read and highly recommended for anyone who wants a well-rounded learning experience in Software Architecture.
Amazon Verified review Amazon
Ian Gorton May 25, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I have thoroughly enjoyed this book. It provides a excellent coverage of software engineering and architectural issues, grounding these in Java technologies. The chapters on architectural patterns, middleware, cloud native systems and data architectures are excellent introductions to the core appraches and technologies in these areas. I especially appreciate the breadth of the materials, including good overviews of requirements engineering and development methods, UI design and testing. If you are looking to transition to a role that has more architectural role with wider responsibilities, this is a great book to have on your (virtual) bookshelf.
Amazon Verified review Amazon
Krishnan Raghavan Jun 02, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
This book is about how to design/architect robust applications using Java. The author Giuseppe Bonocore has done a wonderful job of introducing the concept of software architecting in a very intuitive way. It assumes that the reader has experience in Java programming and is aiming to become a Software Architect. This book can also be used by experienced software Architects, CTO etc who have experience in Software Architecting but would like to revisit concepts that have been revised based on the progress made the field of Software Architecting.The book begins by explaining the basic concepts of software architecting, and requirement gathering. The author has also introduced tools that can help in this process. The author then moves on to more advanced software architecting concepts in chapter 3. Chapters 4 and 5 explain the best practices for design and development along with exploring the common development models. I found chapter 9 very interesting as it explains how to design cloud-native architecture including an introduction to microservices.The concepts that are introduced in this book are something that most of us would come across over a period of time-based on our level of experience. The author has done a fantastic job of helping us understand these concepts better. At the end of each chapter, additional material for further reading is suggested which is very useful.Kudos to Giuseppe Bonocore for writing such a wonderful book. Thank oyu very much Giuseppe Bonocore.
Amazon Verified review Amazon
Juan Manuel Bello Jun 14, 2022
Full star icon Full star icon Full star icon Full star icon Full star icon 5
I really liked its content and the simplicity with which the topics are approached, easy to understand, with very good examples
Amazon Verified review Amazon
Tiny Jul 05, 2022
Full star icon Full star icon Full star icon Full star icon Empty star icon 4
The hope for Packt’s Hands-on Software Architecture with Java by Guiseppe Bonocore was to identify some common errors in Java programming that could be fixed with better architecture. If I could give an in-between rating, this would be a 4.5. This was one of the best references in software architecture I’ve seen, however, the application to Java was extremely minimal. The author did mention Java, and talked about different tools but didn’t integrate those into the overall architecture. The first section dealt with generic system architecture, the second with software architecture, and the final with some high-level concerns. The first section builds through introducing some Java basics and then departs that thread to consider design aspects. This provides a step by step guide to whiteboarding your system, building out requirements, and then establishing how to achieve each requirement. Also included is a great overview of how different models such as waterfall, DevOps, Lean and Scrum might impact design. Each chapter includes a case study on how to apply those designing techniques to a mobile payment app. The middle section dives deeper into software aspects and requirements for architecture. The most Java occurs in Chapter 6 here, specifically referencing Java architectural patterns like MVC (Model-View-Controller) as well as event-driven or serverless builds. There is an extensive examination into the difference between integration and automation as well as using middle-ware to improve aspects. The final chapter here conducts one of the best reviews of cloud-native aspects I’ve seen in a long time but again, lacks the detailed connection to Java. Each chapter here also included a case study on how to apply the different architectural aspects to a payment system. For me, the final section was a return to basics. It identified the properties one might want in architecture, how to ensure security, create observability, and make sure you are following the Software Development Lifecycle (SDLC). One of the challenges for me is that the SDLC is an outdated model based on Waterfall, and Agile implementations often pursue completely different approaches. There is a quick mention of some upcoming Java features but here, even with the emphasis on Java, they are not strongly correlated back to architectural improvements. I really enjoyed the architecture but was hoping for more connection to Java. If something could be added, it would be examples of common problems in Java applications and process that could be fixed with improved architecture. Overall, the book was great for architecture and not so good for Java. I would still recommend having it as a reference as it does put more of the architectural notes in a single place than I have seen, even in books dedicated solely to architectural concepts. Recommend for architects and program managers.
Amazon Verified review Amazon
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

What is included in a Packt subscription? Chevron down icon Chevron up icon

A subscription provides you with full access to view all Packt and licnesed content online, this includes exclusive access to Early Access titles. Depending on the tier chosen you can also earn credits and discounts to use for owning content

How can I cancel my subscription? Chevron down icon Chevron up icon

To cancel your subscription with us simply go to the account page - found in the top right of the page or at https://subscription.packtpub.com/my-account/subscription - From here you will see the ‘cancel subscription’ button in the grey box with your subscription information in.

What are credits? Chevron down icon Chevron up icon

Credits can be earned from reading 40 section of any title within the payment cycle - a month starting from the day of subscription payment. You also earn a Credit every month if you subscribe to our annual or 18 month plans. Credits can be used to buy books DRM free, the same way that you would pay for a book. Your credits can be found in the subscription homepage - subscription.packtpub.com - clicking on ‘the my’ library dropdown and selecting ‘credits’.

What happens if an Early Access Course is cancelled? Chevron down icon Chevron up icon

Projects are rarely cancelled, but sometimes it's unavoidable. If an Early Access course is cancelled or excessively delayed, you can exchange your purchase for another course. For further details, please contact us here.

Where can I send feedback about an Early Access title? Chevron down icon Chevron up icon

If you have any feedback about the product you're reading, or Early Access in general, then please fill out a contact form here and we'll make sure the feedback gets to the right team. 

Can I download the code files for Early Access titles? Chevron down icon Chevron up icon

We try to ensure that all books in Early Access have code available to use, download, and fork on GitHub. This helps us be more agile in the development of the book, and helps keep the often changing code base of new versions and new technologies as up to date as possible. Unfortunately, however, there will be rare cases when it is not possible for us to have downloadable code samples available until publication.

When we publish the book, the code files will also be available to download from the Packt website.

How accurate is the publication date? Chevron down icon Chevron up icon

The publication date is as accurate as we can be at any point in the project. Unfortunately, delays can happen. Often those delays are out of our control, such as changes to the technology code base or delays in the tech release. We do our best to give you an accurate estimate of the publication date at any given time, and as more chapters are delivered, the more accurate the delivery date will become.

How will I know when new chapters are ready? Chevron down icon Chevron up icon

We'll let you know every time there has been an update to a course that you've bought in Early Access. You'll get an email to let you know there has been a new chapter, or a change to a previous chapter. The new chapters are automatically added to your account, so you can also check back there any time you're ready and download or read them online.

I am a Packt subscriber, do I get Early Access? Chevron down icon Chevron up icon

Yes, all Early Access content is fully available through your subscription. You will need to have a paid for or active trial subscription in order to access all titles.

How is Early Access delivered? Chevron down icon Chevron up icon

Early Access is currently only available as a PDF or through our online reader. As we make changes or add new chapters, the files in your Packt account will be updated so you can download them again or view them online immediately.

How do I buy Early Access content? Chevron down icon Chevron up icon

Early Access is a way of us getting our content to you quicker, but the method of buying the Early Access course is still the same. Just find the course you want to buy, go through the check-out steps, and you’ll get a confirmation email from us with information and a link to the relevant Early Access courses.

What is Early Access? Chevron down icon Chevron up icon

Keeping up to date with the latest technology is difficult; new versions, new frameworks, new techniques. This feature gives you a head-start to our content, as it's being created. With Early Access you'll receive each chapter as it's written, and get regular updates throughout the product's development, as well as the final course as soon as it's ready.We created Early Access as a means of giving you the information you need, as soon as it's available. As we go through the process of developing a course, 99% of it can be ready but we can't publish until that last 1% falls in to place. Early Access helps to unlock the potential of our content early, to help you start your learning when you need it most. You not only get access to every chapter as it's delivered, edited, and updated, but you'll also get the finalized, DRM-free product to download in any format you want when it's published. As a member of Packt, you'll also be eligible for our exclusive offers, including a free course every day, and discounts on new and popular titles.