This is the last of a three-part series looking at how to build RESTful web services. The series covers all aspects of REST services, from basic HTTP-level interactions, through to matching these operations in your existing code and applications, network security, and adherence for REST standards. With advanced REST deployments, the key considerations are the methods required to build, deploy, and place your REST solution into production. Key to this should be understanding how best to implement your web services and RESTful architecture to take advantage of the SOA environment and your existing enterprise infrastructure. Deployment requires testing and installation within the distributed environment of your typical SOA deployment. Follow along in this tutorial to learn about all of these advanced RESTful skills in Safari Books Online.
This is the third in a series of three tutorials that access learning resources available from Safari Books Online that cover the skills that Software Architects at the Sr. Manager level need to be fluent in. This tutorial contains twelve topics that range from core project requirements, to cost and time estimates, to important aspects like security, development and deployment activities. Each topic lists its objectives along with the estimated time required to read each resource covered by the topic. Complete this tutorial and you will be well on your way to understanding what is required to transition from an entry level software architect to mid-level software architect manager all the way to senior managers responsible for enterprise-scale software system inception, development and delivery.
Agile is an approach to software development that improves quality and customer satisfaction. It also reduces risk by focusing on effective collaboration between software developers and business experts, and the frequent delivery of deployable releases that contain new and valuable business features. Agile, by its very nature, is iterative and uses fixed timebox sprints created by self-organizing cross-functional teams. Face-to-face interactions are preferred over written documentation, since those instruments typically become obsolete long before the project comes to fruition. Popular agile methodologies include XP, Scrum and the earlier Dynamic Systems Development Method (DSDM). The success of agile has been remarkable and recent advances have come in the form of approaches that support scaling agility, and working in organizations that have audit and compliance requirements. Also important is meeting the needs of organizations that have resources spread across multiple locations that may be too far to allow for face-to-face interactions. Agile is evolving and gaining in popularity with its focus on managing risk, improving quality and productivity, while maintaining both customer and a results-oriented focus that leads to successful systems and successful businesses! Follow along in this Safari Books Online bibliography to learn more about all of the Agile aspects that have been covered here.
This is the first of a 3 part series of tutorials to learn Java Skills in Safari Books Online. This beginning Java tutorial is designed for individuals that may not have development experience, or developers who have had non-Java development experience, such as Cobol programming. Developing applications with Java uses an object-oriented programming (OOP) approach, and relies heavily upon the OOP paradigm to describe and use the functionality of the language. Key concepts such as inheritance, objects, classes and the heavy typing used to declare variables and their contents are not optional, but they are instead required elements of the language. Follow along in this tutorial to learn about all of these beginning Java skills in Safari Books Online.
This is the first of a three-part series looking at how to build RESTful web services. The series covers all aspects of REST services, from basic HTTP-level interactions, through to matching these operations in your existing code and applications, network security, and adherence for REST standards. Over the years a number of different web-based service technologies have been developed, including XML-RPC, SOAP and REST. So called RESTful services are easy to use and consume from the client side, and have a much lighter overhead for communicating and exchanging information. From a server side perspective, they can be more difficult to implement and build because of the state-less nature of the service, while generally being easier to map to existing functions, methods and internal structures. Follow along in this tutorial to learn about the fundamentals of web services, how REST fits into the web services model, and the mechanics of REST services with Java in Safari Books Online.
This is the first in a series of three tutorials that access learning resources available from Safari Books Online that cover the skills that Senior Associate-level Software Architects need to be fluent in. This tutorial contains fourteen topics that range from core project requirements, to cost and time estimates, to important aspects like security, development and deployment activities. Each topic lists its objectives along with the estimated time required to read each resource covered by the topic. Complete this tutorial and you will be well on your way to understanding what is required to become a beginning software architect.
Big Data in Healthcare can be characterized by volume, velocity and variety. Enterprises have an ever-growing amount of data of all types equivalent to petabytes of information. Consider the amount of data created from the Genomic research on a daily basis. The velocity refers to how fast the input is and how quickly we can analyze data to yield measurable results. One example is how big data must stream in the instance of emergency care. There is a wide variety of data, structured and unstructured, such as text, sensor data, audio, video, click streams, log files and more. This bibliography will connect you with books and videos in the vast Safari Books Online library, covering all of the Big Data technologies and applications for the healthcare industry to help treatment effectiveness and efficiency.
The contents of this guide take you through the basics of C and C++ programming, from understanding the language form and layout through to using libraries and structures that enable you to build software. Some programming experience is expected in any other language.Developing application using C or C++ requires understanding the core elements of the language, such as the structure and format, alongside the ability to use both functional and object-oriented programming architectures to achieve your goals. C/C++ includes a wide variety of different libraries and environments, such as the Standard Template Library, and these extend the functionality and interface of the C/C++ programming environment to support a rich development environment. Following this bibliography will give you an excellent grounding in C and C++ programming using the books and content of Safari Books Online.
One of the greatest changes in the computing world has been the move to using common, distributed hardware and software to support services, coined cloud computing. We have chosen a selection of the most useful books in cloud computing within this bibliography. First we look at the basics and some of the key concepts and issues that arise in Cloud computing in general. Then we examine how the 'as a service' (aaS) has helped to drive and expand the reach of the cloud deployment environment. Next, the role of different cloud services, both internal to support cloud operations, and externally provided as a part of the web of cloud operational support are covered. Virtualization, the effective division of computing to more essential computing units has helped to make broad-spectrum web services effective and distributed, and is another key driver behind understanding the cloud. Combining both cloud services and existing datacenters is the role of the Hybrid cloud, aiming to take advantage of the best of both worlds. An array of cloud deployment and development platforms are described, covering both public and private cloud services. Throughout the cloud environment security is a major concern, especially when sharing and distributing user and customer data. Finally, the role of development tools and environments are examined, covering both key tools and entire development stacks. So, be sure to take advantage of the books and videos on cloud computing that you will find in the Safari Books Online library.
Digital Makers experiment at the intersection between the creative and the practical. They are driven by curiosity and playfulness, by manifesto pledges to fail fast and fail often. To bring new designs into reality, they must draw upon inspiring and insightful contributions from a wide variety of fields; art, design, science or technology, before applying them with laser-focus to the particular problem they have in mind.As part of their craft, makers must tackle issues of materials science, algebra, logic and a myriad of other subjects every day as part of their inventive leisure activities. Of course, this means drawing a boundary around the knowledge relevant to 'making' represents an impossible task. Instead, this bibliography attempts to summarize and explain the recurring themes that have emerged from the craft and have become fascinations for makers the world over. These are the tools, techniques, deployment domains, audiences and ways of thinking which are chosen over and over again for their power, accessibility, flexibility, elegance, or cool factor.
Electrical engineering, simply stated, is the study and application of electricity and its circuits. Electrical engineers focus on designing, implementing and improving products powered by electricity. Within this field, some electrical engineers focus on one product such as a generator or maybe the specific components in a communication system. It is the engineer's responsibility most often to then design and test new devices in one of these particular fields. Use this bibliography to access the excellent resources on all of the fields of Electrical Engineering that are available in the Safari Books Online library. Whether you want to focus on one particular area of electrical engineering, or if you want to survey everything, this bibliography has everything you need in learning more about this exciting science-based career.
Today, functional programming is emerging from the shadows. It turns out that when you program imperatively (viewing variables as slots in memory with changeable values), you create programs that are difficult for you to reason about when concurrency is introduced. Furthermore, thread-based concurrency techniques have not proven to be effective in enabling developers to write scalable applications. Functional languages help solve these problems by discouraging you from changing the values of variables and by providing alternate concurrency mechanics, such as actors (message-passing objects). We have created a collection of books in this bibliography on the languages and libraries of modern industrial-strength functional programming. There are books on Scala, Haskell, Erlang, Clojure, F# and R. We've even listed books on applying functional techniques to work in normally-imperative languages, like C# and Java, and books to get you started if you don't know anything about functional programming. Finally, we've listed a few books on the libraries and frameworks that we think are most helpful in writing enterprise-grade applications in functional languages.
This is the second of a three-part series looking at how to build RESTful web services. The series covers all aspects of REST services, from basic HTTP-level interactions, through to matching these operations in your existing code and applications, network security, and adherence to REST standards. As the features and your experience with Web Services and REST increases, the methods and solutions for implementation become your focus of attention. The Java ecosystem provides a range of different tools and implementations that provide the basic structure and format for building RESTful aware applications.
This is the second in a series of three tutorials that access learning resources available from Safari Books Online that cover the skills that Software Architects need to be fluent in. This tutorial contains fourteen topics that range from core project requirements, to cost and time estimates, to important aspects like security, development and deployment activities. Each topic lists its objectives along with the estimated time required to read each resource covered by the topic. Complete this tutorial and you will be well on your way to understanding what is required to transition from an entry level software architect to a software architect manager.
IT Governance is the control of organizational structures through effective leadership and the hands-on management of organizational policies, processes, and structures that impact information, information-related assets and technology. Fundamentally, IT governance provides guidance to ensure that an information technology organization is performing successfully and that policies, processes and other organizational structures are in place so that essential organizational strategies and objectives are achieved. Organizations with excellent IT governance enjoy improved coordination, communication and alignment of goals throughout the entire enterprise. With effective IT governance, organizations are able to make effective decisions, manage performance and ensure that projects are completed on time and within budget. IT governance also helps to align business and IT strategy while minimizing risk and ensuring that processes comply with industry standards and frameworks. Most of all, IT governance helps organizations improve productivity, quality and achieve success. Follow along in this Safari Books Online bibliography to learn more about all of the IT Governance aspects that have been described here.
This is a guide to IT Service Management (ITSM) using the IT Infrastructure Library (ITIL) approach. It is aimed at both technical and non-technical IT management professionals and contains a combination of management, procedural and technical information on implementing ITSM. Upon completion of this tutorial, and by accessing the resources in Safari Books Online, you will have an understanding of the core elements and components of ITSM. This includes the different facets of incident, problem, change and knowledge management, combined with practical details on the metrics and measurement of ITSM methods described, and enhanced with practical guidance on how to use these methodologies in practical settings.
In the early 1990s, a team of developers at Sun Microsystems, led by James Gosling, designed and implemented a new computer language: Java. The language was object oriented, was compiled into an intermediate form called Java Bytecode, and those bytecode instructions were run on a virtual machine called the Java VM. Java, at the time, was a revolution in itself. It quickly became the language of a new generation of software developers who were writing small applications for the web, server applications for the enterprise, and even desktop applications. Today many new languages compile into Java bytecode and are run on top of the Java VM such as Scala, Groovy and Clojure, as well as variants of Python, Ruby, and Erlang. Java is also the language used to write programs for many of the world's mobile devices, including Android. If you're interested in Android development, there is also a bibliography specific to that platform. Oracle acquired Sun Microsystems in January of 2010 and became the owner of the Java technology. So far, this has not changed how Java has been positioned in the market. Open source software projects have used Java extensively to create some of the world's most popular software libraries. These libraries have likely been one of the driving forces behind the creation of many of the JVM based language ports. Of course, people have to learn about how to use these libraries and languages, so the books written about Java are also varied in nature. There are a great many excellent learning reference books, class library reference books, and books on enterprise and web development. There are books that cover the Java Virtual Machine based languages mentioned earlier. The Spring Framework is a highly popular, open source, modular, infinitely configurable framework written in Java that is also covered well by technical book writers. Many games are written in Java, and we've included a few books on Game programming. If you are writing web services, you'll want to read about Service Oriented Architecture as well as storing and retrieving data using one of the many Java persistence frameworks. This bibliography covers the entire Java language, spanning from introductory to advanced topics. We hope you enjoy them and use them to your
Linux powers the servers and machines that power a significant proportion of the Internet, and it forms the backbone of a variety of different modern operating systems, particularly in the embedded and smaller systems markets, such as ARM-based desktops, laptops and set top systems. In fact, Linux is now the solution behind so many different things: from game consoles, to media platforms, to massive database servers, to clusters, and to some of the most powerful computing clusters in the world. Linux manages to span the full gamut of hardware platforms from watches to supercomputers. In this bibliography we have collected a range of different titles that cover the basics of installing your Linux system, how to use it and deploy it, and how to make use of the different systems. We've also collected guides to specific environments and distributions, including Fedora, SUSE, Ubuntu and the Raspberry Pi platform. For more generic content, there are titles on kernel development, device driver building and the Linux programming interfaces. Maybe programming Linux is more appealing to you, in which case you can find books on everything from system programming to C++, Perl, Python and more with a focus on the Linux or Linux-like environment. For administration and deployment, you'll want to examine the books that cover the core of administration, shell tools, and the specific guides on security, Oracle and development stack solutions such as LAMP (Linux, Apache, MySQL, and Perl/Python/PHP). Finally, if you want to develop your professional skills and get certified, or just learn the finer details of the internals, then Safari Books Online has everything you need here and more.
Being a manager today is more difficult than ever before. In additional to traditional management challenges, today's manager must also learn to manage more diverse teams in organizations facing more uncertainty and change. Changes in technology and economy have fundamentally reshaped not only how and where people work, but also what they are working on. As more people choose to stay in the workforce longer, managers must learn the unique styles, expectations, desires and ways to motivate each generation of employee. And, as teams become more diverse, a manager's ability to mediate and resolve conflicts becomes even more important. Workers today are also accustomed to working temporarily, or permanently, off site. We are seeing virtual and remote employees becoming more of the norm, instead of the exception. This shift in where people work means that managers accustomed to completely co-located teams must adapt and find new ways to delegate, maintain teamwork, monitor work performance and conduct effective meetings. Follow along in this Management Bibliography to learn how to excel in all of these areas of management and more.
As computer users, most people are not aware of how extensive and how prevalent the Microsoft Enterprise platform is in businesses around the world. Most office users don't think much about the servers and technology that exist somewhere in the back room or computer room at major corporations. They just interact with the computer sitting on their desk and expect it to connect to their email, access the Internet and allow them to get to the documents that they need to do their job. But ask the administrator that works to keep everything up and working correctly, and he or she can tell you that there is a large infrastructure working behind the scenes so that the user can do their job with a minimum of fuss. The administrators know that there are a lot of pieces to the puzzle and that it takes sometimes daily maintenance across a variety of servers and platforms to make it all work. The world of Enterprise is highly competitive and the technology you choose, along with how you architect and administer it, can mean the difference between success and failure. If you are someone just wanting to explore Microsoft's Enterprise technologies, or if you are an architect or administrator working daily on Microsoft's platform, then this bibliography is for you. It covers all of the platforms mentioned in this introduction, pointing you to all of this information you need inside Safari Books Online.
When Microsoft released the first beta of the .NET Framework in 2000 it quickly became the default way of developing software for Windows. Rising from the technological legacy of COM, with the C# language, Common Language Runtime (CLR), Intermediate Language (IL) and Just-in-time (JIT) compilation, it was a modern platform that made it easy for Java and C++ developers to develop for Windows. At the same time, Visual Basic .NET provided a natural transition path for Visual Basic developers. Since then, .NET has evolved and branched through 7 major releases of the framework to the current day, and with Windows 8, Microsoft has surprised developers with a completely new UI stack. In this highly competitive world of technology, Microsoft makes the operating system that is running on over a billion computers, yet they continue innovating with unique features of programming languages, and breakthroughs such as Kinect or PixelSense. .NET offers an environment that is a pleasure to develop on and a consistent platform where you will feel at home moving from one technology stack to another. Should you decide to explore the exciting world of .NET development, be sure to use this bibliography to access Safari Books Online resources that will help you understand and master .NET programming.
Today it is difficult to avoid networking, from phones to computers and even modern home appliances. Using this bibliography, you will learn to understand how networking works at the low level, how different networks can be connected together and how the Internet works to route data around the world. You will also gain an understanding of the higher level networking principles such as protocol designs and networking application fundamentals.This bibliography is aimed at people with basic network experience. It will guide you through a deeper understanding of how the basics of networking operate, from the physical level, to low-level protocols, network routing and high-level protocol and networking systems. If you are a developer or a network administrator, this will help you acquire a deeper understanding of networking environments.
Project Management is an integral part of businesses, reaching into most every industry, country and culture throughout the world. At its most basic level, Project Management is a set of principles, guidelines and tools used to manage work. It breaks down large units of work (i.e., feed the tribe) into more manageable sets of tasks (i.e., establish a hunting team, establish a gathering team, make and distribute tools, schedule the hunt, etc.). When these task sets are accomplished together, and in a specific order, the result is that the main unit of work is achieved. Project Management also consists of guidelines and tools used to monitor progress toward the main goal (i.e., How will a rain storm effect the scheduled hunt? Did the hunt start on time? Did we gather enough food for the week?). In this bibliography you will learn about basic, iterative and advanced Project Management techniques, the required tools to use, certification prep, useful toolkits and more. Whether you have just been thrown into Project Management without any formal training or instruction, or if you are a seasoned veteran of Project Management and already hold one or more certifications, this Project Management Bibliography is your guide to navigating the vast array of instructional media available on the topic, all of which you will find in Safari Books Online.
People are increasingly concerned by the security of the information they put online and worry about their privacy and their online profile. With new attacks, information leaks, vulnerabilities and exploits published every week, information security is a constant learning process. To be effective and stay up to date, you need the right resources to make sure you can quickly access any needed information. Obtaining the details you need is like trying to find a needle in a haystack. From general IT security knowledge and certifications to specialized content such as exploit writing, this bibliography brings together the right resources to help you get the information you need to solve any problem in IT security. We cover mobile and network security, cyber warfare and cyber crime and how to confront malware, including detection, development and forensics. And with more and more code written every day, secure coding is crucial, and we cover books on secure development, cryptography development, guidelines and best practices.