Beginning Cloud Native Development with MicroProfile, Jakarta EE, and Kubernetes 1st Edition Tarun Telang pdf download
Beginning Cloud Native Development with MicroProfile, Jakarta EE, and Kubernetes 1st Edition Tarun Telang pdf download
https://ebookmass.com/product/beginning-cloud-native-
development-with-microprofile-jakarta-ee-and-kubernetes-1st-
edition-tarun-telang/
https://ebookmass.com/product/pro-jakarta-ee-10-open-source-
enterprise-java-based-cloud-native-applications-development-peter-
spath/
https://ebookmass.com/product/beginning-helidon-building-cloud-native-
microservices-and-applications-1st-edition-dmitry-kornilov-2/
https://ebookmass.com/product/beginning-helidon-building-cloud-native-
microservices-and-applications-1st-edition-dmitry-kornilov/
Software Development with Go: Cloud-Native Programming
using Golang with Linux and Docker 1st Edition Nanik
Tolaram
https://ebookmass.com/product/software-development-with-go-cloud-
native-programming-using-golang-with-linux-and-docker-1st-edition-
nanik-tolaram/
https://ebookmass.com/product/practical-debugging-at-scale-cloud-
native-debugging-in-kubernetes-and-production-1st-edition-shai-almog/
https://ebookmass.com/product/beginning-ejb-3-java-ee-7-edition-
jonathan-wetherbee/
This work is subject to copyright. All rights are solely and exclusively
licensed by the Publisher, whether the whole or part of the material is
concerned, specifically the rights of translation, reprinting, reuse of
illustrations, recitation, broadcasting, reproduction on microfilms or in
any other physical way, and transmission or information storage and
retrieval, electronic adaptation, computer software, or by similar or
dissimilar methodology now known or hereafter developed.
The publisher, the authors, and the editors are safe to assume that the
advice and information in this book are believed to be true and accurate
at the date of publication. Neither the publisher nor the authors or the
editors give a warranty, expressed or implied, with respect to the
material contained herein or for any errors or omissions that may have
been made. The publisher remains neutral with regard to jurisdictional
claims in published maps and institutional affiliations.
Conventions
Throughout the book, I use a consistent style for presenting Java code,
SQL, command-line text, and results. When pieces of code, SQL,
reserved words, or code fragments are presented in the text, they are
presented in fixed-width Courier font, such as this (working) example:
Note The sources for this book may change over time, in order to
incorporate the most up-to-date features in Jakarta EE, MicroProfile,
and the Kubernetes platform. If you find any issues in the sources,
please submit them via the book’s GitHub repo and the code will be
adjusted accordingly.
Any source code or other supplementary material referenced by the
author in this book is available to readers on GitHub
(https://github.com/Apress). For more detailed information, please
visit http://www.apress.com/source-code.
Acknowledgments
I would like to thank my wife, Nikita, and son, Vihan, for their patience
and love throughout the process of writing this book. I am indebted to
all my mentors and friends who encouraged me to keep on growing
during every phase of my professional career.
I’d like to thank my parents for pushing me in the right direction
with technology and always supporting me every step of the way, even
when I decided to do something completely different than they
expected. It’s also important to note that without them, I probably
wouldn’t have become a developer and had such a great career. Lastly,
thanks again go out to my wife (and soulmate), Nikita. It’s an incredible
feeling to be with someone who keeps you motivated and challenges
you, not only professionally but personally.
Thank you for always being there for me!
I’d like to send a special thanks to Pramit Das and Massimo Nardone
(technical reviewers), for their impeccable work on this book. I also
greatly appreciate Steve Anglin, Mark Powers, and everyone at Apress
Media (apress.com) for their support in getting this book published.
Last, but not least, I would like to thank you, the reader, for taking
the time to read this book. I hope that it will help you in your journey of
becoming a better Jakarta EE developer.
Table of Contents
Chapter 1:Introduction to Cloud Computing
Introduction to Cloud Computing
Examples of Cloud Computing
Benefits of Cloud Computing
Essential Characteristics of Cloud Computing
Types of Cloud Computing Based on Deployment Models
Public Cloud
Community Cloud
Private Cloud
Hybrid Cloud
Service Models of Cloud Computing
Software as a Service (SaaS)
Platform as a Service (PaaS)
Infrastructure as a Service (IaaS)
The Role of Java in Cloud Computing
The Evolution of Cloud Computing
Summary
Chapter 2:Cloud-Native Application Development
What Is Cloud-Native?
Characteristics of Cloud-Native Applications
Examples of Cloud-Native Applications
Benefits of Cloud-Native Applications
Drawbacks of Using Cloud-Native Applications
Cloud-Native Applications vs.Traditional Applications
Cloud-Native Application Development
Managed Services for Java-Based Applications
Examples of Cloud-Native Application Development
Cloud-Native Application Development Is the Future
Phases of Cloud-Native Application Development
Summary
Chapter 3:Setting Up Your Development Environment
Prerequisites
Hardware Requirements
Installing Java Development Kit (JDK)
Using Maven
Installing Maven
Git
Installing Git
Creating a GitHub Account
Creating a GitHub Repository
Pushing Code to a GitHub Repository
Using Docker
Benefits of Using Docker
Installing Docker
Docker Hub
Using Kubernetes
Installing Kubernetes
Configuring Docker for Kubernetes
Creating a Kubernetes Cluster
Using Zipkin
Installing Zipkin
Integrated Development Environments (IDE)
Summary
Chapter 4:Building RESTful Web Services
REST:An Architectural Style for Building Web Services
Introduction to Open Liberty Runtime
Key Features of the Open Liberty Application Server
Downloading and Installing Open Liberty
Starting the Open Liberty Server
Printing a List of Features on the Open Liberty Server
Creating a Server Instance
Stopping the Open Liberty Server
Configuring the Server
Creating a RESTful Web Service in Open Liberty
Creating a RESTful API
Summary
Chapter 5:Microservices Architecture
Vertical Scaling
Horizontal Scaling
Vertical vs.Horizontal Scaling
History of Service-Based Architecture
Types of Service-Based Architectures
Service-Oriented Architecture (SOA)
What Is a Web Service?
What Is SOAP?
What Is REST?
REST vs.SOAP
The Monolithic Architecture
Evolution of the Microservices Architecture
Benefits of Microservices Architectures
Drawbacks of Microservices Architectures
Design Considerations
Using Microservices in Cloud-Native Applications
Cloud-Native Twelve-Factor Applications
What Is a Virtual Machine?
What Are Containers?
What Are Container-Based Applications?
What Are Serverless Applications?
Where Is Serverless Computing Used?
Benefits of Serverless Computing
Drawbacks of Serverless Computing
Popular Serverless Platforms
Main Components of a Serverless Computing Platform
Serverless Applications vs.Containers
Microservice Deployment Patterns
Key Considerations
Microservices Deployment Strategies and Patterns
Microservices Management
Summary
Chapter 6:The Eclipse MicroProfile Framework
What Is the Eclipse MicroProfile Framework?
Layers of Functionality in MicroProfile
Popular Implementations of the Eclipse MicroProfile
Framework
MicroProfile Config
The MicroProfile Health Check Specification
The MicroProfile Fault Tolerance Component
Key Features of the Fault Tolerance Component
Fault Tolerance API
Summary
Chapter 7:MicroProfile Framework – Part 2
The MicroProfile Metrics Specification
Types of Metrics
Metrics Components
Metrics Annotations
Maven Dependency
Tracking Response Time Using @Timed
Tracking the Number of Invocations
Tracking Memory Usage
MetricRegistry
Creating Custom Metrics
Using Open Tracing
Distributed Tracing
How Does It Work?
Using the Jakarta RESTful Web Service
Using the MicroProfile OpenAPI Specification
OpenAPI
Capabilities of the MicroProfile OpenAPI Specification
Generating OpenAPI Documents
Using the MicroProfile OpenAPI in Your Project
MicroProfile OpenAPI Annotations
Summary
Chapter 8:MicroProfile JSON Web Tokens and Jakarta Security
Security Best Practices for Microservices
What Is a JSON Web Token (JWT)?
Use Cases for JSON Web Tokens
Authentication
Authorization
Session Information
Claims-Based Identity
Information Exchange
Federation
Creating and Signing a JWT
Testing the Application
Verifying and Validating a JWT
Using JWT in a Microservice Environment
Securing a RESTful Application
Securing a REST Resource
The @RolesAllowed Annotation
The @Claim Annotation
The @HeaderParam Annotation
Configuring a JWK Set or PEM-Encoded Public Key
Public Key Cryptography Standards #8 in PEM Format
JSON Web Key (JWK)
JSON Web Key Set (JWKS)
The Jakarta EE Security Specification
Securing a Servlet Using Jakarta Security
The MicroProfile REST Client
The @RegisterClient Annotation
Configuring Your REST Client
REST Client Interface
Documenting RESTful APIs Using MicroProfile OpenAPI
What Is the OpenAPI Specification?
What Is MicroProfile OpenAPI?
Summary
Chapter 9:Containerizing Microservices Using Kubernetes
What Are Containers?
Why Use Containers?
What Is Container Orchestration?
The Benefits of Using Container Orchestration
Understanding Kubernetes Terminology
The Key Features of Kubernetes
Using Kubernetes
Using Docker Containers
Running a MicroProfile Application in Docker
Pushing the Docker Image to Docker Hub
Scaling Your Deployment
Summary
Appendix A:Introduction to Maven
Appendix B:Creating an Open Liberty Project Using Maven
Appendix C:Installing Open Liberty Tools
Index
About the Author
Tarun Telang
is a hands-on technologist with extensive
experience in the design and
implementation of multitiered, highly
scalable software applications. He has
been part of several well-known
companies, including Microsoft, Oracle,
Polycom, and SAP. He has over 17 years
of experience in architecting and
developing business applications.
He began his career as an enterprise
Java developer at SAP, where he
developed distributed application
software for big firms. He got his start
with enterprise session beans and
message-driven beans, as well as instrumenting enterprise
applications’ configuration and management using the Java
Management Extensions (JMX) technology.
He quickly mastered various enterprise technologies, including the
Enterprise Beans, Java Management Extensions, Servlets, and Server
Pages technologies, and in his first year as a developer, he became a Sun
Certified Programmer for the Java Platform, Standard Edition 6, and an
SAP Certified Development Consultant for the SAP NetWeaver Java Web
Application Server (which was a Java EE 5-compliant application
server).
He also gained expertise in XML technologies like XSLT and XSD. He
developed several solutions using session beans and message-driven
beans to handle message-oriented communications across numerous
systems. In 2007, Tarun was named an SAP Mentor and Community
Influencer for his articles and blog posts on emerging technologies and
for promoting innovative solutions in the SAP Developer Community.
He frequently writes articles on Java and related technologies. Tarun
has also authored multiple online courses, including a best-selling
course on the YAML data serialization language.
He has presented technical lectures at several developer
conferences, including SAP TechEd and the Great Indian Developer
Summit. He has been presenting at conferences for more than 15 years
and actively publishes technical papers and blogs to assist everyone in
grasping the fundamentals of software technology. Tarun developed
cloud-based video conferencing applications using a microservices
architecture with the Spring framework and has experience working
with Persistence APIs and the Hazelcast framework for building REST-
based services.
He also developed many end-to-end cloud-based solutions using
various architectural patterns, including microservices and service-
oriented architectures. Tarun has gained expertise in web, mobile, and
cloud technologies. He is also knowledgeable in applied agile
methodologies, including user-centric and mobile-first design for
managing projects with cross-functional teams located in multiple
geographies. Tarun is the co-author of Java EE to Jakarta EE 10 Recipes:
A Problem-Solution Approach for Enterprise Java (Apress, 2022).
Having previously worked in Canada and Germany, Tarun currently
resides in Hyderabad, India with his wife and son. You can follow him
on LinkedIn ( www.linkedin.com/in/taruntelang/ ), Facebook
( www.facebook.com/tarun.telang ), and Twitter
(@taruntelang). His blog at https://blogs.taruntelang.me
is an excellent resource for all things related to software technology!
About the Technical Reviewers
Massimo Nardone
has more than 25 years of experience in
security, web/mobile development,
cloud, and IT architecture. His true IT
passions are security and Android. He
has been programming and teaching
others how to program with Android,
Perl, PHP, Java, VB, Python, C/C++, and
MySQL for more than 20 years. He holds
a Master of Science degree in computing
science from the University of Salerno,
Italy.
He has worked as a CISO, CSO,
security executive, IoT executive, project
manager, software engineer, research
engineer, chief security architect,
PCI/SCADA auditor, and senior lead IT security/cloud/SCADA architect
for many years. His technical skills include security, Android, cloud,
Java, MySQL, Drupal, Cobol, Perl, web and mobile development,
MongoDB, D3, Joomla, Couchbase, C/C++, WebGL, Python, Pro Rails,
Django CMS, Jekyll, Scratch, and more.
He was a visiting lecturer and supervisor for exercises at the
Networking Laboratory of the Helsinki University of Technology (Aalto
University). He also holds four international patents (in the PKI, SIP,
SAML, and Proxy areas). He is currently working for Cognizant as head
of cybersecurity and CISO to help clients in areas of information and
cybersecurity, including strategy, planning, processes, policies,
procedures, governance, awareness, and so forth. In June, 2017, he
became a permanent member of the ISACA Finland Board.
Massimo has reviewed more than 45 IT books for different
publishing companies and is the co-author of Pro Spring Security:
Securing Spring Framework 5 and Boot 2-based Java Applications
(Apress, 2019), Beginning EJB in Java EE 8 (Apress, 2018), Pro JPA 2 in
Java EE 8 (Apress, 2018), and Pro Android Games (Apress, 2015)
Pramit Das
has more than 12 years of experience in
software design and development across
multiple platforms using various
technology stacks. He is extremely
passionate about programming and
exploring new and upcoming
technologies. He has extensive hands-on
experience with programming languages
like C/C++, Java, Scala, JavaScript, and
Python, along with their respective tools,
libraries, and frameworks, including
Spring, Django, NodeJs, and Spark. He
also has excellent knowledge of backend
storage solutions from Oracle, MySQL,
MongoDB, and Cassandra, as well as
other cloud-based managed services.
Academically, Pramit received his Bachelor’s of Technology from
NIT, Rourkela in Computer Science & Engineering, graduating in 2009.
He has experience in product- and service-based industries and is
currently working for the cloud giant Salesforce as a full-time engineer.
© The Author(s), under exclusive license to APress Media, LLC, part of Springer
Nature 2023
T. Telang, Beginning Cloud Native Development with MicroProfile, Jakarta EE, and
Kubernetes
https://doi.org/10.1007/978-1-4842-8832-0_1
On-Demand Self-Service
Users can access the cloud services without interacting with the service
provider. They can simply sign up for a service through a web-based
interface and start using it immediately. For example, users can sign up
for cloud services and start using them to store their data without
needing to contact customer support. This characteristic enables users
to get started with cloud services quickly and easily without needing
complex configuration.
Resource Pooling
The cloud provider pools the resources like storage, processing,
memory, and network bandwidth from multiple customers and makes
them available on demand. Multi-tenancy is a crucial feature of cloud
computing that enables providers to share resources among multiple
customers. In this model, each customer is given a dedicated portion of
the resources and is isolated from other customers. This helps
providers manage and monitor the resources more effectively and
provides customers with added security and privacy. This characteristic
also enables efficient utilization of resources and reduces the cost of
ownership.
Rapid Elasticity
Cloud services can be quickly scaled up or down to meet the changing
needs of the users. In some cases, consumers may automatically be able
to scale their usage up or down, depending on the cloud provider’s
policies . For example, a social networking site may need to quickly add
more servers during a significant event, such as an election or a natural
disaster. In other cases, users may need to scale down their usage to
save costs. This characteristic enables cloud providers to allocate
resources dynamically with the flexibility to increase or decrease their
usage as required.
Measured Service
Cloud providers offer metered services that are charged according to
their actual usage. In addition, cloud systems can automatically control
and optimize resources by leveraging a pattern in metering. For
example, a cloud storage service may automatically move data to
cheaper storage tiers when it is not accessed for a specific period. This
characteristic provides users with greater control over their usage and
costs.
Public Cloud
A public cloud is a type of cloud computing that delivers hosted
services over the Internet. Public clouds are owned and operated by
third-party companies that provide their resources—such as servers,
storage, and applications—to customers on demand. The most common
examples of public clouds are Gmail and Dropbox. These services allow
users to access their data and applications from any device with an
Internet connection.
Community Cloud
A community cloud is a computing model that delivers shared
applications and data to a community of users with common
requirements or objectives. It promotes collaboration, flexibility, and
standardization within the community while providing users access to
a personalized, self-service environment. The cloud infrastructure is
provisioned for exclusive use by a specific community of consumers
from organizations with shared concerns (e.g., mission, security
requirements, policy, and compliance considerations).
The community cloud model can be used to support a variety of
communities, including those that are:
– Technical: Developers, engineers, or other technically-focused users
who share joint development or operational objectives.
– Business-based: Employees in the same company or organization
who need to collaborate on projects or access shared data.
– Geographic: People who live in the same region or city and want to
connect online.
– Interest-based: Users with a common interest or hobby who want to
connect and share information.
Community clouds are often established by organizations or users
who come together to pool resources and create a shared
infrastructure. This infrastructure can be used to host applications,
store data, or provide other services to members of the community. In
many cases, community clouds are managed by a third-party provider
who is responsible for maintaining the underlying infrastructure.
Benefits
There are many benefits of using SaaS, including:
Reduced costs: With SaaS, businesses only pay for the software they
use on a subscription basis. There is no need to invest in hardware or
IT infrastructure.
Increased flexibility: SaaS applications can be accessed from any
device with an Internet connection. This makes it easy for businesses
to scale their usage up or down as needed.
Improved security: SaaS providers typically have strong security
measures in place to protect data.
Disadvantages
While SaaS can offer many benefits , there are also some issues to be
aware of, including:
Vendor lock-in: Once a business uses a SaaS application, it can be
challenging to switch to another provider. This is because data is
often stored in the cloud, and switching providers can be complex
and expensive.
Limited customization: SaaS applications are typically not as
customizable as on-premises software. This can make it challenging
to meet the specific needs of a business.
Internet dependency: SaaS applications require an Internet
connection to work. This can be an issue for businesses with poor
Internet connectivity.
Despite these issues, SaaS is a popular option for businesses of all
sizes. It can be a cost-effective and flexible way to improve business
operations.
How It Works
To understand how SaaS works, it is helpful to know a little about the
architecture of SaaS applications. SaaS applications are typically built
using a multi-tier architecture . This means that the application is
divided into multiple parts:
The frontend: This is the part of the application that users interact
with.
The backend: This is the part of the application that stores data and
handles the logic.
The middleware: This is the part of the application that connects
the frontend and backend. It is typically built using a web application
framework.
SaaS applications are hosted in the cloud, which means that they are
stored on a network of servers. When users want to use the application,
they send a request to the server. The server then sends the frontend
code to the user’s device. The user’s device then runs the code and
displays the frontend of the application. When users interact with the
application, their interactions are sent to the backend. The backend
then processes the request and sends a response back to the user’s
device.
Benefits of PaaS
Consider these advantages offered by PaaS :
Reduced time to market for new applications: Since PaaS takes
care of all the underlying infrastructure, developers can focus on
building their applications, leading to a faster market lead time.
Cost savings: PaaS services are often more cost-effective than
traditional application development and deployment models since
you only pay for what you use.
Increased developer productivity: PaaS services can increase
developer productivity by providing them with everything they need
to develop and deploy applications in the cloud.
Improved application quality: PaaS services can help improve the
quality of your applications by providing access to the latest tools
and technologies.
Increased agility and flexibility: PaaS services can provide you
with the agility and flexibility you need to respond to changing
market conditions quickly.
PaaS services have recently become a popular solution for
organizations of all sizes who want to take advantage of the benefits of
cloud computing. Whether you’re looking to reduce costs, increase
developer productivity, or improve application quality, PaaS can help
you achieve your goals.
Limitations of PaaS
When choosing a PaaS provider, it’s important to consider your specific
needs and requirements. Make sure to carefully read the provider’s
terms of service to ensure that your use case is supported. In addition,
be aware of the following potential limitations of PaaS :
Vendor lock-in: Once you’ve developed your application on a
specific PaaS platform, it can be difficult and costly to migrate to
another platform. If your PaaS provider goes out of business or raises
prices significantly, this can be a problem.
Lack of control: Since you don’t have control over the underlying
infrastructure, you may be limited in how you can customize and
configure your applications.
Security risks associated with shared infrastructure: Since PaaS
services share infrastructure with other customers, there is a risk
that your data could be compromised.
Limited choice of tools and technologies: Some PaaS providers
only offer a limited selection of tools and technologies, which may
not be suitable for your needs.
Benefits of IaaS
Some of the other benefits of IaaS include:
Reduced capital expenditure: Customers only pay for the resources
they use, when they use them. There is no need to make a large
upfront investment in hardware and software.
Flexibility and scalability: Resources can be quickly scaled up or
down to meet changing needs.
Reduced operational expenditure: IaaS customers don’t have to
worry about managing and maintaining their infrastructure. This is
the responsibility of the service provider.
Pay per use: Customers only pay for the resources they use when
they use them.
Limitations of IaaS
IaaS is not without its limitations . These include:
Limited control: Customers do not have direct control over the
physical infrastructure.
Security concerns: Customers are responsible for the security of
their data and applications .
Vendor lock-in: Customers may be locked into a particular vendor’s
platform, making it difficult to switch to a different vendor in the
future.
2. Java is very scalable: Java can be used to create programs for large
businesses. Many people know how to use it and can help you if you
have any problems. This means that it can handle large amounts of
data and traffic. Cloud-based applications often need to be able to
scale quickly and easily, and Java is built for this.
3. Java is secure: Security is very important for cloud-based
applications. Java has several security features built into the
language, which makes it more difficult for hackers to exploit. For
example, it has a robust security model that can be used to control
access to data and resources.
Some of the tools and libraries that can be used to build cloud
applications with Java include:
Jakarta EE is a standards-based platform for developing cloud-
friendly applications. It provides a comprehensive set of APIs and
features that make it easy to develop cloud-based applications.
Microprofile is a lightweight specification that provides a set of APIs
and features for developing microservices. It includes features such
as health checking, configuration, and security.
As per the TIOBE Index ( https://www.tiobe.com/tiobe-
index/ ), Java is currently the third most popular language after
Python and C. It has been in the top three since 2002 and shows no
signs of falling anytime soon. This is due to its large and loyal user base,
as well as the many features that make it ideal for developing cloud-
based applications.
Other documents randomly have
different content
armature bearing special lubrication, 145
commutator cleaning, 143
cut‐out relay, 147
description, 142
generator installation, 147
generator removal, 145
Generator removal and installation, 145, 147
Horn, 190
Ignition system
circuit breaker and timer assembly installation, 133
recommended recheck of ignition timing, 135
removal, 133
circuit breaker points
adjustable contact point installation, 131
adjustable contact point removal, 131
adjustment, 131
breaker lever installation, 131
breaker lever removal, 130
coil to timer wire
installation, 138
removal, 138
condenser
installation, 133
removal, 131
description, 129
spark coil
installation, 140
removal, 139
spark control adjustment, 139
spark plugs
cleaning, 129
point adjustment, 129
replacement, 129
type, 129
Installation procedure
air cleaner, 126
ammunition box carrier, 169
battery, 185
battery box, 173
carburetor, 118
circuit breaker and timer assembly, 133
circuit breaker lever, 131
circuit breaker points, 131
clutch release bearing, 95
coil to timer wire, 138
condenser, 133
control wire housings, 166
engine, 82
engine head gasket, 74
exhaust pipe, 127
foot starter, 98
fork assembly, 158
front wheel, 196
fuel pipe, 121
fuel strainer assembly, 120
fuel tank, 175
generator, 147
handle bar assembly, 163
ignition and light switch, 188
instrument panel cover, 191
jiffy stand, 177
luggage carrier, 170
mudguards, 171
muffler assembly, 127
oil tank, 176
outer front chain guard, 167
rear chain guard, 169
rear stand, 176
rear wheel, 199
saddle post, 178
safety guards, 178
scabbard carrier, 169
skid plates, 180
spark coil, 140
spark control wire, 166
speedometer, 192
spring forks, 154
starter crank springs, 101
steering damper, 161
throttle control wire, 165
tires, 195
tool box and bracket assembly, 173
upper bumper springs, 155
upper coil springs, 155
wiring, 190
Instrument panel
indicator lights, 191
panel cover
installation, 191
removal, 191
speedometer
installation, 192
removal, 192
Intake and exhaust system
air cleaner
general, 122
installation, 126
maintenance, 123
removal, 125
service, 122
air cleaner mounting bracket replacement, 126
description
exhaust, 122
intake, 122
exhaust system
muffler assembly installation, 127
muffler assembly removal, 126
pipe installation, 127
hose and carburetor fitting
installation, 125
removal, 125
Introduction
scope of manual, 3
supersession of quartermaster manuals, 3
Maintenance allocation
allocation of maintenance by echelons
clutch, 40
controls and linkage, 40
electrical group, 41
engine (V‐45″ twin engine), 41
exhaust group, 42
miscellaneous, 42
suspension (front), 43
suspension (rear), 43
tires, 44
transmission, 44
vehicle assembly, 44
scope of maintenance, 39
Manual, scope of, 3
References
explanatory publications
automotive materiel, 200
list of publications for training, 200
maintenance and repair, 200
protection of materiel, 200
storage and shipment, 200
standard nomenclature lists, 200
Removal procedure
air cleaner, 125
ammunition box carrier, 169
battery, 181
battery box, 172
carbon, 74
carburetor, 118
circuit breaker and timer assembly, 133
circuit breaker lever, 130
condenser, 131
control wire housings, 166
engine, 78
engine head gasket, 73
foot starter, 98
fork assembly, 155
front wheel, 195
fuel pipe, 121
fuel strainer assembly, 120
fuel tank, 174
generator, 145
handle bar assembly, 162
ignition coil to timer wire, 138
instrument panel cover, 191
jiffy stand, 176
luggage carrier, 170
mudguards, 170, 171
muffler assembly, 126
oil tank, 175
outer front chain guard, 167
rear chain guard, 169
rear stand, 176
rear wheel, 198
release bearing (clutch), 95
saddle post, 178
safety guards, 178
scabbard carrier, 169
skid plates, 180
spark coil, 139
spark control wire, 166
speedometer, 192
spring forks, 154
starter crank spring, 98
steering damper, 161
throttle control wire, 164
tires, 193
tool box and bracket assembly, 173
upper bumper springs, 155
upper coil springs, 155
Road test chart of maintenance operations, 49
Steering control
control wire housings
installation, 166
removal, 166
fork assembly (complete)
installation, 158
removal, 155
rocker plate studs, 160
forks (springs)
installation, 154
removal, 154
handle bar controls
install throttle control wire, 165
remove throttle control wire, 164
handle bars
installation of assembly, 163
removal of assembly, 162
spark control wire
installation, 166
removal, 166
steering damper
installation, 161
removal, 161
upper coil springs and upper bumper springs
installation, 155
removal, 155
Stowage on vehicle (tools and equipment), 35
T
Tabulated data
engine, 72
vehicle specifications, 7
capacities, 8
performance, 7
Tires, wheels, and hubs
description, 193
front wheel
hub adjustment, 197
installation, 196
removal, 195
rear wheel
installation, 199
removal, 198
rims and spokes, 195
tires
description, 193
installation, 195
removal, 193
Tools and equipment stowage on the vehicle
vehicle equipment, 36
vehicle spare parts, 38
vehicle tools, 35
Transmission
control linkage
adjustment, 97
checking gear shifter control linkage, 96
transmission shifted to adjust front drive chain, 96
description, 96
foot starter
installation, 98
removal, 98
installation, 101
removal, 99
starter crank springs
installation, 98
removal, 98
Trouble shooting
brakes, 70
electrical system, 68
engine
instruction, 61
tests to determine mechanical condition, 63
engine lubricating system, 64
fuel system, 65
generating system, 68
ignition system, 66
introduction, 61
steering, 71
transmission and clutch, 69
wheels and chains, 69
G. C. MARSHALL,
Chief of Staff.
Official:
J. A. ULIO,
Major General,
The Adjutant General.
Distribution: R9 (4): IR 5, 7 and 17 (5): Bn 9 (2): IBn 5, 6,
7 and 17 (5): C9 (8): IC 5, 6, 7 and 17 (5)
(For explanation of symbols, see FM 21–6)
RAPD3OEC43–81M
Transcriber’s notes:
The original spelling, punctuation and hyphenation has been retained except for
apparent printer’s errors which have been silently corrected.
In the Fig. 51 caption M—MARK ON BREAKER CAM AND MARKS ON TIMER HEAD AND
HAND - ‘HAND’ should possibly read ‘BAND’.
In the echelon table, section 25. ALLOCATION OF MAINTENANCE, ‘strained gasoline’
should possibly read ‘strainer gasoline’.
*** END OF THE PROJECT GUTENBERG EBOOK MOTORCYCLE,
SOLO (HARLEY-DAVIDSON MODEL WLA) ***
Updated editions will replace the previous one—the old editions will
be renamed.
1.D. The copyright laws of the place where you are located also
govern what you can do with this work. Copyright laws in most
countries are in a constant state of change. If you are outside the
United States, check the laws of your country in addition to the
terms of this agreement before downloading, copying, displaying,
performing, distributing or creating derivative works based on this
work or any other Project Gutenberg™ work. The Foundation makes
no representations concerning the copyright status of any work in
any country other than the United States.
1.E.6. You may convert to and distribute this work in any binary,
compressed, marked up, nonproprietary or proprietary form,
including any word processing or hypertext form. However, if you
provide access to or distribute copies of a Project Gutenberg™ work
in a format other than “Plain Vanilla ASCII” or other format used in
the official version posted on the official Project Gutenberg™ website
(www.gutenberg.org), you must, at no additional cost, fee or
expense to the user, provide a copy, a means of exporting a copy, or
a means of obtaining a copy upon request, of the work in its original
“Plain Vanilla ASCII” or other form. Any alternate format must
include the full Project Gutenberg™ License as specified in
paragraph 1.E.1.
• You pay a royalty fee of 20% of the gross profits you derive
from the use of Project Gutenberg™ works calculated using the
method you already use to calculate your applicable taxes. The
fee is owed to the owner of the Project Gutenberg™ trademark,
but he has agreed to donate royalties under this paragraph to
the Project Gutenberg Literary Archive Foundation. Royalty
payments must be paid within 60 days following each date on
which you prepare (or are legally required to prepare) your
periodic tax returns. Royalty payments should be clearly marked
as such and sent to the Project Gutenberg Literary Archive
Foundation at the address specified in Section 4, “Information
about donations to the Project Gutenberg Literary Archive
Foundation.”
• You comply with all other terms of this agreement for free
distribution of Project Gutenberg™ works.
1.F.
1.F.4. Except for the limited right of replacement or refund set forth
in paragraph 1.F.3, this work is provided to you ‘AS-IS’, WITH NO
OTHER WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED,
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.
ebookmasss.com