Real World Software Architecture

Real World Software Architecture is dedicated to providing information and experiences from the field of Software Architecture.



Subscribe with RSS or ATOM Add to Google

Links

  • Home Page
  • Real World Software Process Engineering
  • Suggested Reading
  • .NET Dev and Arch Collection
  • SEI Essays on SA
  • Software Architecture
  • Bredemeyer
  • wwisa
  • Product Line Engineering
  • PLEES
  • Software Product Lines
  • MSDN Architecture Center
  • patterns & practices






Monday, December 23, 2013

SharePoint 2013 Unleashed Book Review

This book covers a ton of topics. Actually more like 10 tons of topics.

The book is broken down into 6 parts:
Planning for and Deploying SharePoint Server 2013
Administering and Maintaining SharePoint Server 2013
Securing, Protecting, and Optimizing SharePoint Architecture
Using SharePoint 2013 Technologies for Collaboration and Document Management
Leveraging Office Applications with SharePoint
Extending the SharePoint Environment

Covering so many topics has its pros and cons.

Pros include covering a wide variety of topics and they provide a lot of very helpful lists. Especially when comparing SharePoint 2013 Foundation, SharePoint 2013 Standard, and SharePoint 2013 Enterprise.

The lists are one of my favorite features of the book. They include List of SharePoint 2013 Service Applications, Hardware Requirements for the Various Server Roles of SharePoint 2013, Hardware Requirements for the Various Server Roles of SharePoint 2013, Sample Service Accounts for a Default SharePoint Install, Summary of Maintenance Tasks and Recommendations, Sample Small Virtual SharePoint Environment Deployment Specifications, Sample Medium-Sized Virtual SharePoint Environment Deployment Specifications, Service Accounts for a Default SharePoint Install, Service Applications Available in SharePoint Foundation 2013 Compared to SharePoint Server 2013, Templates Available in SharePoint Foundation 2013 and SharePoint Server 2013, Tools Available in a Document Library in Different Versions of SharePoint 2013, Guidelines for Using Versioning, Page Approval Workflows, and Content Approval in Document Libraries, and Governance Plan for Service Applications.

This is just a portion of them. There are a ton more I could list, but I think I have made the point. These list really help give a quick glance into the features and tools available in a given area of SharePoint.

To give you a better understanding of the vast number of topics covered in this book I have listed the part of the book below and the chapters they include.

Part I: Planning for and Deploying SharePoint Server 2013
Chapter 1. Introducing SharePoint 2013
Chapter 2. Architecting a SharePoint 2013 Deployment
Chapter 3. Installing a Simple SharePoint Server 2013 Farm
Chapter 4. Advanced SharePoint 2013 Installation and Scalability
Chapter 5. Migrating from SharePoint 2010 to SharePoint 2013

Part II: Administering and Maintaining SharePoint Server 2013
Chapter 6. Managing and Administering SharePoint 2013 Infrastructure
Chapter 7. Leveraging PowerShell for Command-Line SharePoint Administration and Automation
Chapter 8. Leveraging and Optimizing Search in SharePoint 2013
Chapter 9. Managing and Maintaining SQL Server in a SharePoint Environment
Chapter 10. Backing Up and Restoring a SharePoint Environment
Chapter 11. Monitoring a SharePoint 2013 Environment

Part III: Securing, Protecting, and Optimizing SharePoint Architecture
Chapter 12. Virtualizing SharePoint Components
Chapter 13. Deploying SharePoint for Extranets and Alternative Authentication Scenarios
Chapter 14. Protecting SharePoint with Advanced Edge Security Solutions
Chapter 15. Implementing and Validating SharePoint Security
Chapter 16. Configuring Email-Enabled Content, Site Mailboxes, and Exchange Server Integration
Chapter 17. Safeguarding Confidential Data in SharePoint 2013

Part IV: Using SharePoint 2013 Technologies for Collaboration and Document Management
Chapter 18. SharePoint Foundation Versus SharePoint Server 2013
Chapter 19. Using Libraries and Lists in SharePoint 2013
Chapter 20. Customizing and Managing Libraries and Lists to Meet Business Requirements
Chapter 21. Designing and Managing Pages and Sites for Knowledge Workers
Chapter 22. Managing Metadata and Content Types in SharePoint 2013
Chapter 23. Leveraging Social Networking Tools in SharePoint 2013
Chapter 24. Governing the SharePoint 2013 Ecosystem

Part V: Leveraging Office Applications with SharePoint
Chapter 25. Using Word, Excel, PowerPoint with SharePoint 2013
Chapter 26. Extending SharePoint 2013 with Excel Services, Visio Graphics Services, and Access Services
Chapter 27. Office Web Apps 2013 Integration with SharePoint 2013
Chapter 28. Out-of-the-Box Workflows and Designer 2013 Workflows

Part VI: Extending the SharePoint Environment
Chapter 29. Application Development with SharePoint Designer 2013 and Visual Studio 2012
Chapter 30. Business Intelligence in SharePoint 2013 with PerformancePoint Services
Chapter 31. Business Intelligence in SharePoint 2013 with Business Connectivity Services

The book also covers topics I have not seen covered elsewhere. It covers Protecting SharePoint with Advanced Antivirus and Edge Security Solutions, Virtualizing SharePoint Components, SharePoint Foundation Versus SharePoint Server, and Safeguarding Confidential Data in SharePoint. The chapter I found most useful so far was SharePoint Foundation Versus SharePoint Server.

The biggest con is that the topics are not as in-depth as they need to be sometimes for field level use. An example would be the upgrade coverage. For example they cover a vanilla upgrade, but most upgrades are not going to go that smoothly. The cons do not really detract from the book because of the type of book it is. It covers far too much material to go into scenario based topics and I feel it goes in-depth enough to get you very familiar with the topics covered.

The Microsoft SharePoint 2010 Unleashed had some of the code and the scripts available for download, but none are available for this version yet.

Overall the book serves as a good introduction to a very wide variety of topics and goes to the level of depth needed to gain a thorough understand of the topic.

All in all I recommend this book for anyone involve with SharePoint administration.

SharePoint 2013 Unleashed

SharePoint 2013 Unleashed

posted by tadanderson at 11:59 PM 0 comments

Monday, December 16, 2013

iOS 7 Programming Cookbook Book Review

This is a massive cookbook with tons of recipes. It covers a ton of material and it covers it in depth. Although this book is more of a reference than a cover to cover read, every time I use it to look something up I find myself getting sucked in and reading several topics, and sometimes several chapters.

In the preface the author says this version of the book is a complete remake, not an update, and I have to agree with him. The first chapter used to be The Basics and it is gone. This edition of the book is not for novice programmers to get started with Objective-C and iOS programmer. The author also warns the reader that this is for the experienced developer.

I really like this new version. It adds chapters on Creating Dynamic and Interactive User Interfaces, Building Complex Layouts with Collection Views, Notifications, and Security.

The chapter's recipes topics are reflected in the titles of the chapters. I have listed them all below.

1. Implementing Controllers and Views
2. Creating Dynamic and Interactive User Interfaces
3. Auto Layout and the Visual Format Language
4. Constructing and Using Table Views
5. Building Complex Layouts with Collection Views
6. Storyboards
7. Concurrency
8. Security
9. Core Location and Maps
10. Implementing Gesture Recognizers
11. Networking, JSON, XML, and Sharing
12. Audio and Video
13. Address Book
14. Files and Folder Management
15. Camera and the Photo Library
16. Multitasking
17. Notifications
18. Core Data
19. Dates, Calendars, and Events
20. Graphics and Animations
21. Core Motion
22. iCloud
23. Pass Kit

Each chapter begins with a short introduction to the topic that will be covered by the recipes, and each recipe has a Problem, Solution, and Discussion section.

Chapter 1 is one of my favorite chapter. It is 167 pages long and covers a ton of the controls and views in iOS 7. It is really nice to see a full example dedicated to each one of the controls.

So far I have used this book to figure out how to add maps and getting directions to my application, make use of the NSURLConnection, get started with Core Data, get static JSON data out of the application's bundle, deserialize JSON into dictionaries, and make use of the address book, camera, and photo library.

The downloadable code is awesome. It is very well organized and is very usable. It all just runs, which is great. I have had a few books recently where that was not the case.

The only thing I would have liked to see is a chapter dedicated to the new iOS 7 Sprite Kit. I don't know how much value add that would be since it is a pretty big topic, so I won't ding the book for it not being mentioned and hope for it to be added in the future.

Like the previous two versions, this book will stay by my side until the next version of it becomes available. I am constantly reaching for it. Any serious iOS 7 developer owes it to themselves to pick up a copy of this book.


iOS 7 Programming Cookbook

iOS 7 Programming Cookbook

posted by tadanderson at 7:24 AM 0 comments

Friday, December 13, 2013

Objective-C Programming: The Big Nerd Ranch Guide (2nd Edition) Book Review

This book is the perfect place for an experienced developer to start with iOS programming. I say experienced developer because this book does a great job of showing you the basics of C and the Objective-C language, but if you don't understand the basics of programming, you are probably going to get lost. Maybe not, but I found myself saying, "I am glad I already know what that is" about quite a few topics that were used to explain the subject matter. If you are experienced with C#, C, Java, or C++, you will be fine.

This book does a great job of showing you what you need to know to get started with iOS. When you are done with it you should be able to easily move into learning more by reading more books, like iOS Programming: The Big Nerd Ranch Guide (4th Edition). You will need to learn a lot more to be proficient in Xcode and iOS.

The book is broken down into 5 parts. I have summarized each below:

Getting Started (Chapters 1-2)
This first part explains what you can expect from the book, and what the author's expect of you. It then takes you through the steps of creating your first application with Xcode.

How Programming Works (Chapters 3-12)
In this part you get an overview of C. The authors take you on a tour of some programming concepts using the functionality provide by the C language. Topics they cover include Functions, Variables, Types, if/else, Loops, Numbers, Format Strings, Pointers, the Heap, and Structs.

Objective-C and Foundation (Chapters 13-30)
In these chapters the authors take you on a tour of object oriented concepts and Objective-C. Topics covered include Objects, Messages, Memory, NSArray, NSString, Classes, Inheritance, Instance Variables, Leaks, Collection Classes, Constants, Reading and Writing Files, Callbacks, Protocols, and Property Lists.

Event-Driven Applications (Chapters 31-32)
In this part you write an iOS and a Cocoa application. While building the applications the authors introduce the Model-View-Controller pattern, setting up views, wiring up buttons and table views, loading and saving data, Interface Builder, and they discuss the role the application delegate plays.

Advanced Objective-C (Chapters 33-37)
Here the authors cover init, more about properties, key-value coding and observing, and categories.

Advanced C (Chapters 38-42)
In these final chapters the authors cover C strings, bitwise operators, C arrays, and using the command line and command line arguments.

How are the code samples? Well that will be up to you because the author's policy is this - "Given that the code samples are short. And that they often go through a few revisions. And that if I publish the code some people will read it instead of typing it in. I'm not going to make the code available."

You will need to type the examples if you want to see them in action. That is not such a big deal because the way the authors use the samples throughout the book is add this ABC code, and then in the next example delete ABC code and add XYZ code, and then leave XY, but delete Z and add DEF code. The authors tell you at the beginning of the book you are going to want to read this in front of a Mac. They aren't kidding.

Coming from a long career in C#, and before that C and C++, this was the perfect place for me to start with iOS programming. I have this second edition and the first edition. I never got around to reviewing the first edition, but wanted to make sure I reviewed this one because I feel it is an awesome asset to the experienced programmer looking to get into iOS programming.

The book also makes a good reference. Topics are short and to the point. There isn't any filler in this book, so when you need to look something up you have a nice concise explanation at your fingertips.

All in all, if you are looking to get into iOS, this is a great place to start. If you are an experienced iOS developer, it makes a nice reference for the features only used once in a blue moon.


Objective-C Programming: The Big Nerd Ranch Guide (2nd Edition)

Objective-C Programming: The Big Nerd Ranch Guide (2nd Edition)

posted by tadanderson at 7:30 AM 0 comments

Sunday, December 01, 2013

iOS 7 Programming Fundamentals- Objective-C, Xcode, and Cocoa Basics Book Review

This book is a great place to start with iOS 7 development. It is actually the first 13 chapters of what would have been Programming iOS 7 4th edition. The book Programming iOS 6 contained everything, but the book was getting too large to keep adding new material. This book now ends where Programming iOS 7 will pick up.

The separation is nice for those that have experience with iOS and only need the advanced topics. I still wanted both parts of the book, because I like the authors coverage of C, Objective-C, Xcode, introduction to Cocoa.

After advising the reader to brush up on their C by reading certain parts of C Programming Language, and then spending a chapter showing how C relates to Objective-C, the author has a really nice overview of Objective-C. The overview is Part I of the book and it is 5 chapters long. The chapters include Just Enough C, Object-Based Programming, Objective-C Objects and Messages, Objective-C Classes, and Objective-C Instances.

Part II IDE includes chapters on Anatomy of an Xcode Project, Nib Management, Documentation, and Life Cycle of a Project. In part II the author goes into detail about the architecture of the project and the files included in the project. He does a great job of explaining nibs, the coding environment, testing, debugging, and provides an overview of the steps taken when submitting your app to the app store. The author also points out and shows you how to take advantage of the Xcode documentation.

Part III is all about Cocoa. It includes chapters on Cocoa Classes, Cocoa Events, Accessors and Memory Management, and Data Communication. The author does a great job of explaining Automatic Reference Counting (ARC) in this section.

The downloadable code is very well organized and usable. It is broken down into folders by chapter and page number which makes it very convenient to find the sample you want.

The author's approach and writing style made it a pleasure to read. He does a great job of explaining complex topics and always covers everything in depth.

If you are planning to start iOS 7 development, you owe it to yourself to buy this book and keep it at arms length!!!

iOS 7 Programming Fundamentals: Objective-C, Xcode, and Cocoa Basics

posted by tadanderson at 10:04 AM 0 comments

Previous Posts

  • DevOps: A Software Architect's Perspective Book Re...
  • Scaled Agile Framework (SAFe) LiveLessons Video Se...
  • Bulletproof Android: Practical Advice for Building...
  • Swift for Programmers Book Review
  • Security in Computing (5th Edition) Book Review
  • Swift in 24 Hours, Sams Teach Yourself Book Review
  • Sparx Systems Releases Enterprise Architect 12
  • Learning Swift Programming Book Review
  • Android Security Internals: An In-Depth Guide to A...
  • Adaptive Code via C#: Agile coding with design pat...



Archives

  • December 2005
  • January 2006
  • February 2006
  • March 2006
  • April 2006
  • June 2006
  • August 2006
  • October 2006
  • November 2006
  • December 2006
  • January 2007
  • February 2007
  • March 2007
  • April 2007
  • May 2007
  • June 2007
  • July 2007
  • August 2007
  • September 2007
  • October 2007
  • November 2007
  • December 2007
  • January 2008
  • February 2008
  • March 2008
  • April 2008
  • May 2008
  • June 2008
  • July 2008
  • August 2008
  • September 2008
  • October 2008
  • December 2008
  • January 2009
  • February 2009
  • March 2009
  • April 2009
  • May 2009
  • June 2009
  • July 2009
  • August 2009
  • September 2009
  • October 2009
  • November 2009
  • December 2009
  • January 2010
  • February 2010
  • March 2010
  • April 2010
  • May 2010
  • June 2010
  • August 2010
  • September 2010
  • October 2010
  • November 2010
  • December 2010
  • January 2011
  • February 2011
  • March 2011
  • April 2011
  • May 2011
  • June 2011
  • July 2011
  • August 2011
  • September 2011
  • October 2011
  • November 2011
  • December 2011
  • January 2012
  • February 2012
  • March 2012
  • April 2012
  • May 2012
  • June 2012
  • July 2012
  • August 2012
  • September 2012
  • October 2012
  • November 2012
  • December 2012
  • January 2013
  • February 2013
  • March 2013
  • April 2013
  • May 2013
  • June 2013
  • July 2013
  • August 2013
  • September 2013
  • October 2013
  • November 2013
  • December 2013
  • January 2014
  • February 2014
  • March 2014
  • April 2014
  • May 2014
  • June 2014
  • July 2014
  • August 2014
  • September 2014
  • October 2014
  • December 2014
  • February 2015
  • March 2015
  • April 2015
  • June 2015
  • July 2015
  • September 2015

Powered by Blogger