Archive

Archive for the ‘IT LEADERSHIP’ Category

Is an app just HTML 5?

October 22, 2011 Leave a comment

I created an HTML 5 based CMS app:

http://m.wix.com/gregjonescto/icandothat

Is this the best way to build enterprise based apps – HTML 5? 

I don’t see why not.

Thinking about how IT will work in the near future

October 16, 2011 Leave a comment

OS

  • Windows 8
    • Metro Look
    • Touch
    • Blend Apps with other apps
  • OS X Lion

Cloud

  • Private Clouds
    • HyperV, VMWare
  • Public Clouds
    • Amazon

App Solutions

App Development

  • Social vs Crowdware
  • Mobile vs HTML 5

Processes

  • BCP & Strategic Planning => Enterprise Architecture

Other

  • BYOT (Bring Your Own Tech.. to the office)
Categories: CIO, IT LEADERSHIP

ITIL Service Catalog

August 15, 2011 Leave a comment

I found a great example of communicating an ITIL Service Catalog from Purdue University.

http://www.itap.purdue.edu/service/catalog/about.cfm

Categories: IT LEADERSHIP, ITIL Tags:

What are the three most important qualities of a Project Manager?

June 13, 2011 Leave a comment

Project Management is a collection of many qualities but there are those that are more important than others. The following explains the three most important qualities a Project Manager should have related to the single most important approach a software development project must have today – agility.

Process Agility

Project Management’s methodologies have changed in last few years. For many years, project management was considered a well-defined set of steps and deliverables that all projects completed. These project management deliverables helped ensure the project was completed on schedule, on budget and all requirements were implemented. A good example of this is the Project Management Institute’s Project Management Body of Knowledge (PMI’s PMBOK)

Today’s customers are expecting more functionality to be delivered in less time. The time needed to produce these project management deliverables can start to create their own risk to the project schedule. Although these processes are still important in assuring a successful project, Project Managers must adjust their processes to adapt to these new expectations while ensuring the keys of project management processes are still delivered.

The Project Manager must be able to understand the proper formalization of the Project Management deliverables. For example, some projects may have a high probability for risks; this may warrant a very formal risk management process. While at the same time the project is implementing a well-defined solution, project plan documentation can be less formal, saving time to the schedule and allowing delivery of the solution sooner.

Communication Agility

Due to these Process Agility needs, a Project Manager must ensure they are communicating at a high level of effectiveness. The ability to communicate to all stakeholders is the most important quality a Project Manager can have. Without proper communication between the project team and the stakeholders, there can be breakdown in processes which can have a negative impact on the project. If a Project Manager is implementing Process Agility, the team may not initially be familiar with such adjustments and may not perform the updated Project Management methodology correctly.

Proper communication of the updated methodology is the responsibility of the Project Manager and he/she must ensure the team is fully aware and understands any new changes to the process before it can be implemented in the current project. Without proper communication of these changes, the team may risk missing key project planning steps in lieu of simplifying the process, missing any gains an agile process provides.

Project teams can consist of members that are remote to each other. This can include members in different cities to members in different countries. The ability to communicate by a Project Manager in these environments is even more important.

The agility of communication for a Project Manager is directly related to the Project Manger’s knowledge of the various communication methods. Knowing the most effective and most efficient way to communicate the given information to a specific group of stakeholders separates successful Project Managers from the rest. Methods can be as formal as a PMBOK communication plan to as simple as an email.

Consistent Diligence

One of the most underappreciated qualities a Project Manager must have is consistent diligence. The ability to stay focused on the project management process will ensure a successful project. As a projects methodology becomes more agile, the Project Manager must stay that much more diligent in the assurance that the process is being completed by the team. Agile processes are designed to be less formal but this does not mean less rigid. Some team members may not understand the difference and mistakenly treat agile processes as less rigid of a process. It is the responsibility of the Project Manager to ensure consistent implementation of the agile methodology to ensure the project remains successful.

What is a CIO vs VP of Technology vs ….

February 24, 2011 Leave a comment

When people ask me what is my ideal job, I have a hard time telling them since it consists of a few different sets of responsibilities. I found these definitions of a CIO, a VP Of Technology and Director of Product Management. Thought it was a good differentiation.

So now I can say, based on these definitions, my ideal job is right in the 20% VP of Technology, 20% CIO,  20% Product Development, 20% Lead Developer, and 20% BA/Tester/Trainer.

CIO

The CIO contributes to the organization through vision, strategy definition, communication, and implementation. S/he conducts strategic workforce planning, creating and communicating consistent standards of performance, and creating a high performance culture. The CIO will be expected to grow future leaders by giving them accountability and opportunities for growth…

VP of Technology

Establishes current and long-range technology strategy for key products and solutions for efficient and effective solution delivery. Provides technical solutions expertise, and industry knowledge base to support sales and marketing efforts including pre-sales support, job costing and management of customer engagements. Oversees management of software development teams responsible for new system development. Ensuring…

Directory of Product Development

Lead cross-functional teams to translate customer needs and technology directions into product definitions. Design and establish overall product features based on customer feedback. Establish processes for management of the product requirements throughout their lifecycle. Create and manage processes for product releases. Research and analyze competitive products…

Using MS Project And Agile

January 27, 2011 Leave a comment

We are using a Feature based Agile approach where stories are grouped by Features. We meet with the customers and decide which priority to put on each feature based on its deliverable need.

Since I have a team that is focused on different features and various times, I have to prioritize and identify predecessors at the same time. (This is very useful when a customer wants to know when a specific “simple” feature will be done. But the feature has a major predecessor that will take time to complete).

SETUP THE PROJECT

To keep this trackable for all parties, I create a Microsoft Project 2010. Add the Priority to each item (higher priority gets done first). Then set the proper predecessors. This will give me a WBS but at a high level.

image

LEVEL THE RESOURCES

To level the resources, you have to change the default settings.  By default MS Project will level based on predecessors first then by Priority. To change this:

1. Click on ‘Leveling Options’ on the Resource Ribbon
2. Change the Leveling Order to ‘Priority, Standard’
3. Remove the checkboxes to get the cleanest leveling (breaking tasks will kill any clear approach to this).

image

SHAREPOINT DEVELOPER INTERVIEW QUESTIONS

January 13, 2011 Leave a comment

1) What are the two base classes a WebPart can inherit from within SharePoint 2007

Microsoft.SharePoint.WebPartPages.WebPart OR
System.Web.UI.WebControls.WebParts.WebPart

There are two base classes that a WebPart can inherit from, either the SharePoint WebPart Base class or the ASP.NET 2.0 WebPart base class. When inheriting from the SharePoint WebPart Base class your WebPart class will inherit from Microsoft.SharePoint.WebPartPages.WebPart.
When inheriting from the ASP.NET 2.0 WebPart base class your derived WebPart class will inherit from System.Web.UI.WebControls.WebParts.WebPart.
It is considered good practice to use the ASP.NET WebPart base class since the old base class is meant for backwards compatibility with previous version of SharePoint, however there are four exception when it is better to leverage functionality from the SharePoint WebPart base class:

· Cross page connections

· Connections between Web Parts that are outside of a Web Part zone

· Client-side connections (Web Part Page Services Component)

· Data caching infrastructure

2) What are the differences between the two base classes and what are the inherit benefits of using one over another?

The difference is the Microsoft.SharePoint.WebPartPages.WebPart base class is meant for backward compatibility with previous versions of SharePoint. The benefit of using the SharePoint WebPart base class is it supported:

· Cross page connections

· Connections between Web Parts that are outside of a Web Part zone

· Client-side connections (Web Part Page Services Component)

· Data caching infrastructure

ASP.NET 2.0 WebParts are generally considered better to use because SharePoint is built upon the ASP.NET 2.0 web architecture. Inheriting from the ASP.NET 2.0 base class offers you features that inherit to ASP.NET 2.0, such as embedding resources as opposed to use ClassResources for deployment of said types.

3) What is the GAC?

The GAC stands for the global assembly cache. It is the machine wide code cache which will give custom binaries place into the full trust code group for SharePoint. Certain SharePoint assets, such as Feature Receivers need full trust to run correctly, and therefore are put into the GAC. You should always try to avoid deployment to the GAC as much as possible since it will possibly allow development code to do more than it was intended to do.

4) What is strong naming (signing) a WebPart assembly file mean?

Signing an assembly with a strong name (a.k.a strong naming) uses a cryptographic key pair that gives a unique identity to a component that is being built. This identity can then be referred throughout the rest of the environment. In order to install assemblies into the GAC, they must be strongly named. After signing, the binary will have a public key token identifier which can be use to register the component in various other places on the server.

5) What are safe controls, and what type of information, is placed in that element in a SharePoint web.config file?

When you deploy a WebPart to SharePoint, you must first make it as a safe control to use within SharePoint in the web.config file. Entries made in the safe controls element of SharePoint are encountered by the SharePointHandler object and will be loaded in the SharePoint environment properly, those not will not be loaded and will throw an error.

In the generic safe control entry (this is general, there could be more), there is generally the Assembly name, the namespace, the public key token numeric, the typename, and the safe declaration (whether it is safe or not). There are other optional elements.

6) What is the CreateChildControls() method? How can you use it to do something simple like displaying a Label control?

The CreateChildControls method in WebParts is used to notify the WebPart that there are children controls that should be output for rendering. Basically, it will add any child ASP.NET controls that are called instantiating each control with its relevant properties set, wire any relevant event handlers to the control, etc. Then the add method of the control class will add the control to the controls collection. In the relevant WebPart render method, the EnsureChildControls method can be called (or set to false if no child controls should be called) to ensure that the CreateChildControls method is run. When using CreateChildControls it implies that your WebPart contains a composition of child controls.

In order to create something like a label control in Create, you would create a new label control using the new keyword, set the various properties of the control like Visible=True and ForeColor = Color.Red, and then use Controls.Add(myLabelControl) to add the control to the controls collection. Then you can declare EnsureChildControls in the Render method of the WebPart.

7) What does the RenderContents method do in an ASP.NET 2.0 WebPart?

The render contents method will render the WebPart content to the writer, usually an HtmlTextWriter since WebParts will output to an HTML stream. RenderContents is used to tell how the controls that are going to be displayed in the WebPart should be rendered on the page.

*** Side Question: I got asked what the difference between CreateChildControls and the RenderContents method. The CreateChildControls method is used to add controls to the WebPart, and the RenderContents method is used to tell the page framework how to render the control into HTML to display on a page.

What is the WebPartManager sealed class? What is its purpose?

The WebPartManager sealed class is responsible for managing everything occurring on a WebPart page, such as the WebParts (controls), events, and misc. functionality that will occur in WebPartZones. For example, the WebPartManager is responsible for the functionality that is provided when you are working with moving a WebPart from WebPartZone to WebPartZone. It is known as the “the central class of the Web Part Control Set.”

*** Side Question: I got asked how many WebPartManager controls should be on a page. In order to have WebParts on a page there has to be just one WebPartManager control to manage all the WebParts on the page.

9) What is a SPSite and SPWeb object, and what is the difference between each of the objects?

The SPSite object represents a collection of sites (site collection [a top level sites and all its subsites]). The SPWeb object represents an instance SharePoint Web, and SPWeb object contains things like the actual content. A SPSite object contains the various subsites and the information regarding them.

10) How would you go about getting a reference to a site?

C#:

  1. oSPSite = new SPSite(“http:/server”);
  2. oSPWeb = oSPSite.OpenWeb();

11) What does a SPWebApplication object represent?

The SPWebApplication objects represents a SharePoint Web Application, which essentially is an IIS virtual server. Using the class you can instigate high level operations, such as getting all the features of an entire Web Application instance, or doing high level creation operations like creating new Web Applications through code.

12) Would you use SPWebApplication to get information like the SMTP address of the SharePoint site?

Yes, since this is a Web Application level setting. You would iterate through each SPWebApplication in the SPWebApplication collection, and then use the appropriate property calls (OutboundMailServiceInstance) in order to return settings regarding the mail service such as the SMTP address.

Side Question: I got asked if there are other ways to send emails from SharePoint. The answer is yes, there is. You can use the SendMail method from the SPutility class to send simple emails, however it is not as robust as using the System.Net.Mail functionality since it doesn’t allow things like setting priorities on the email.

13) How do you connect (reference) to a SharePoint list, and how do you insert a new List Item?

C#:

using(SPSite mySite = new SPSite(“yourserver”))
{
using(SPWeb myWeb = mySite.OpenWeb())
{
SPList interviewList = myWeb.Lists[“listtoinsert”];
SPListItem newItem = interviewList.Items.Add();
newItem[“interview”] = “interview”;
newItem.Update();
}
}

14) How would you loop using SPList through all SharePont List items, assuming you know the name (in a string value) of the list you want to iterate through, and already have all the site code written?

C#:

  1. SPList interviewList = myWeb.Lists[“listtoiterate”];
  2. foreach (SPListItem interview  in interviewList)
  3. {
  4. // Do Something
  5. }

15) How do you return SharePoint List items using SharePoint web services?

In order to retrieve list items from a SharePoint list through Web Services, you should use the lists.asmx web service by establishing a web reference in Visual Studio. The lists.asmx exposes the GetListItems method, which will allow the return of the full content of the list in an XML node. It will take parameters like the GUID of the name of the list you are querying against, the GUID of the view you are going to query, etc.

Side Question: I got asked how I built queries with the lists.asmx web service. In order to build queries with this service, one of the parameters that the GetListItems method exposes is the option to build a CAML query. There are other ways to do this as well, but that was how I answered it.

16) When retrieving List items using SharePoint Web Services, how do you specify explicit credentials to be passed to access the list items?

In order to specify explicit credentials with a Web Service, you generally instantiate the web service, and then using the credentials properties of the Web Service object you use the System.Net.NetworkCredential class to specify the username, password, and domain that you wish to pass when making the web service call and operations.

*** Side Question: I got asked when you should state the credentials in code. You must state the credentials you are going to pass to the web service before you call any of the methods of the web service, otherwise the call will fail.

17) What is CAML, and why would you use it?

CAML stands for Collaborative Application Markup Language. CAML is an XML based language which provides data constructs that build up the SharePoint fields, view, and is used for table definition during site provisioning. CAML is responsible for rending data and the resulting HTML that is output to the user in SharePoint. CAML can be used for a variety of circumstances, overall is used to query, build and customize SharePoint based sites. A general use would be building a CAML query in a SharePoint WebPart in order to retrieve values from a SharePoint list.

18) What is impersonation, and when would you use impersonation?

Impersonation can basically provide the functionality of executing something in the context of a different identity, for example assigning an account to users with anonymous access. You would use impersonation in order to access resources on behalf of the user with a different account, that normally, that wouldn’t be able to access or execute something.

19) What is the IDesignTimeHtmlProvider interface, and when can you use it in WebParts?

The IDesignTimeHtmlProvider interface uses the function GetDesignTimeHtml() which can contain your relevant render methods. It was helpful to use in 2003 since it allowed your WebPart to have a preview while a page was edited in FrontPage with the Webpart on it, because the GetDesignTimeHtml() method contains the HTML for the designer to render.

20) What are WebPart properties, and what are some of the attributes you see when declaring WebPart properties in code?

WebPart properties are just like ASP.NET control properties, they are used to interact with and specify attributes that should be applied to a WebPart by a user. Some of the attributes you see with ASP.NET 2.0 properties are WebDescription, WebDisplayName, Category, Personalizable, and WebBrowsable. Although most of these properties come from the System.Web.UI.WebControls.WebParts class, ones like Category come out of System.ComponentModel namespace.

21) Why are properties important in WebPart development, and how have you exploited them in past development projects? What must each custom property have?

Properties are important because WebParts allow levels of personalization for each user. WebPart properties make it possible for a user to interact, adjust, and increase overall experience value with the programmatic assets that you develop without having the need to use an external editor or right any code. A very simple example of exploiting a property would be something like allowing the user to change the text on the WebPart design interface so that they can display whatever string of text they desire.

Each custom property that you have must have the appropriate get and set accessor methods.

22) What are ClassResources? How do you reference and deploy resources with an ASP.NET 2.0 WebPart?

ClassResources are used when inheriting from the SharePoint.WebPart.WebPartPages.WebPart base class, and are defined in the SharePoint solution file as things that should be stored in the wpresources directory on the server. It is a helpful directory to use in order to deploy custom images. In ASP.NET 2.0, typically things such as images are referenced by embedding them as resources within an assembly. The good part about ClassResources is they can help to eliminate recompiles to change small interface adjustments or alterations to external JavaScript files.

23) What is a SharePoint Solution File? How does it differ from WebPart .cab files in legacy development? What does it contain?

A SharePoint solution file is essentially a .cabinet file with all a developers custom components suffixed with a .wsp extension that aids in deployment. The big difference with SharePoint solution files is that a solution:

· allows deployment to all WFE’s in a farm

· is highly manageable from the interface allowing deployment, retraction, and versioning

· Can package all types of assets like site definitions, feature definitions (and associated components), Webparts, etc.

· Can provide Code Access Security provisioning to avoid GAC deployments

24) What is a .ddf file and what does it have to do with SharePoint Solution creation?

A .ddf file is a data directive file and is used when building the SharePoint solution bundle specifying the source files and their destination locations. The important thing for someone to understand is that the .ddf file will be passed as a parameter to the MAKECAB utility to orchestrate construction of the SharePoint solution field.

25) What file does a SharePoint solution package use to orchestrate (describe) its packaged contents?

The solution Manifest.XML file.

26) What deployment mechanism can you use to instigate Code Access Security attributes for your WebParts?

SharePoint solution files can add in order to handle code access security deployment issues. This is done in the element in the SharePoint solution manifest.XML, which makes it easier to get assemblies the appropriate permissions in order to operate in the bin directory of the web application.

27) What is a SharePoint Feature? What files are used to define a feature?

A SharePoint Feature is a functional component that can be activated and deactivate at various scopes throughout a SharePoint instances, such as at the farm, site collection, web, etc. Features have their own receiver architecture, which allow you to trap events such as when a feature is installing, uninstalling, activated, or deactivated. They are helpful because they allow ease of upgrades and versioning.

The two files that are used to define a feature are the feature.xml and manifest file. The feature XML file defines the actual feature and will make SharePoint aware of the installed feature. The manifest file contains details about the feature such as functionality.

Side Question: I got asked how the introduction of features has changed the concept of site definitions. SharePoint features are important when understanding the architecture of site definitions, since the ONET.XML file has been vastly truncated since it has several feature stapled on it.

28) What types of SharePoint assets can be deployed with a SharePoint feature?

Features can do a lot. For example, you could deploy

· Simple site customizations

· Custom site navigation

· WebParts

· pages

· list types

· list instances

· event handlers

· workflows

· custom actions

just to name a few….

29) What are event receivers?

Event receivers are classes that inherit from the SpItemEventReciever or SPListEventReciever base class (both of which derive out of the abstract base class SPEventRecieverBase), and provide the option of responding to events as they occur within SharePoint, such as adding an item or deleting an item.

30) When would you use an event receiver?

Since event receivers respond to events, you could use a receiver for something as simple as canceling an action, such as deleting a document library by using the Cancel property. This would essentially prevent users from deleting any documents if you wanted to maintain retention of stored data.

31) What base class do event receivers inherit from?

Event receivers either inherit from the SPListEventReciever base class or the SPItemEventReciever base class, both which derive from the abstract base class SPEventReceiverBase.

32) If I wanted to not allow people to delete documents from a document library, how would I go about it?

You would on the ItemDeleting event set: properties.Cancel= true.

33) What is the difference between an asynchronous and synchronous event receivers?

An asynchronous event occurs after an action has taken place, and a synchronous event occurs before an action has take place. For example, an asynchronous event is ItemAdded, and its sister synchronous event is ItemAdding.

34) How could you append a string to the title of a site when it is provisioned?

In the OnActivated event:

C#:

  1. SPWeb site = siteCollection.RootWeb;
  2. site.Title += “interview”;
  3. site.Update();

35) Can an event receiver be deployed through a SharePoint feature?

Yes.

36) What is a content type?

A content type is an information blueprint basically that can be re-used throughout a SharePoint environment for defining things like metadata and associated behaviors. It is basically an extension of a SharePoint list, however makes it portable for use throughout an instance regardless of where the instantiation occurs, ergo has location independence. Multiple content types can exist in one document library assuming that the appropriate document library settings are enabled. The content type will contain things like the metadata, listform pages, workflows, templates (if a document content type), and associated custom written functionality.

37) Can a content type have receivers associated with it?

Yes, a content type can have an event receiver associated with it, either inheriting from the SPListEventReciever base class for list level events, or inheriting from the SPItemEventReciever base class. Whenever the content type is instantiated, it will be subject to the event receivers that are associated with it.

38) What two files are typically (this is kept generally) included when developing a content type, and what is the purpose of each?

There is generally the main content type file that holds things like the content type ID, name, group, description, and version. There is also the ContentType.Fields file which contains the fields to include in the content type that has the ID, Type, Name, DisplayName, StaticName, Hidden, Required, and Sealed elements. They are related by the FieldRefs element in the main content type file.

39) What is an ancestral type and what does it have to do with content types?

An ancestral type is the base type that the content type is deriving from, such as Document (0x0101). The ancestral type will define the metadata fields that are included with the custom content type.

40) Can a list definition be derived from a custom content type?

Yes, a list definition can derive from a content type which can be seen in the schema.XML of the list definition in the element.

41) When creating a list definition, how can you create an instance of the list?

You can create a new instance of a list by creating an instance.XML file.

42) What is a Field Control?

Field controls are simple ASP.NET 2.0 server controls that provide the basic field functionality of SharePoint. They provide basic general functionality such as displaying or editing list data as it appears on SharePoint list pages.

43) What base class do custom Field Controls inherit from?

This varies. Generally, custom field controls inherit from the Microsoft.SharePoint.WebControls.BaseFieldControl namespace, but you can inherit from the default field controls.

44) What is a SharePoint site definition? What is ghosted (uncustomized) and unghosted (customized)?

SharePoint site definitions are the core set of functionality from which SharePoint site are built from, building from the SiteTemplates directory in the SharePoint 12 hive. Site definitions allow several sites to inherit from a core set of files on the file system, although appear to have unique pages, thereby increasing performance and allowing changes that happen to a site propagate to all sites that inherit from a site definition. Ghosted means that when SharePoint creates a new site it will reference the files in the related site definition upon site provisioning. Unghosted means that the site has been edited with an external editor, and therefore the customizations are instead stored in the database, breaking the inheritance of those files from the file system.

45) How does one deploy new SharePoint site definitions so that they are made aware to the SharePoint system?

The best way to deploy site definitions in the SharePoint 2007 framework is to use a SharePoint solution file, so that the new site definition is automatically populated to all WFE’s in the SharePoint farm.

Categories: IT LEADERSHIP

Questions for a Lead Operations/Network Technician Interview

January 13, 2011 Leave a comment

Questions I used in previous interview sessions:

1) What does TCP/IP stand for?

Transmission Control Protocol / Internet Protocol

2) Please explain the OSI Model and how it is useful.

Layer 7: Application Layer

The Application layer provides a means for the user to access information on the network through an application. This layer is the main interface for the user(s) to interact with the application and therefore the network. Some examples of application layer protocols include Telnet, applications which use File Transfer Protocol (FTP), applications which use Simple Mail Transfer Protocol (SMTP) and applications which use Hypertext Transfer Protocol (HTTP). Applications built to utilize a protocol, such as FTP, should not be confused with the protocols themselves, which often reside at the session layer.

Layer 6: Presentation Layer

The Presentation layer transforms data to provide a standard interface for the Application layer. MIME encoding, data compression, data encryption and similar manipulation of the presentation is done at this layer to present the data as a service or protocol developer sees fit. Examples: converting an EBCDIC-coded text file to an ASCII-coded file, or serializing objects and other data structures into and out of, e.g., XML.

Layer 5: Session Layer

The Session layer controls the dialogues (sessions) between computers. It establishes, manages and terminates the connections between the local and remote application. It provides for either full-duplex or half-duplex operation and establishes checkpointing, adjournment, termination, and restart procedures. The OSI model made this layer responsible for “graceful close” of sessions, which is a property of TCP, and also for session checkpointing and recovery, which is not usually used in the Internet protocols suite.

Layer 4: Transport Layer

The Transport layer provides transparent transfer of data between end users, thus relieving the upper layers from any concern while providing reliable data transfer. The transport layer controls the reliability of a given link through flow control, segmentation/desegmentation, and error control. Some protocols are state and connection oriented. This means that the transport layer can keep track of the packets and retransmit those that fail. The best known example of a layer 4 protocol is the Transmission Control Protocol (TCP). The transport layer is the layer that converts messages into TCP segments or User Datagram Protocol (UDP), Stream Control Transmission Protocol (SCTP), etc. packets. Perhaps an easy way to visualize the Transport Layer is to compare it with a Post Office, which deals with the dispatching and classification of mail and parcels sent.

Layer 3: Network Layer

The Network layer provides the functional and procedural means of transferring variable length data sequences from a source to a destination via one or more networks while maintaining the quality of service requested by the Transport layer. The Network layer performs network routing functions, and might also perform segmentation/desegmentation, and report delivery errors. Routers operate at this layer—sending data throughout the extended network and making the Internet possible (also existing at layer 3 (or IP) are routers). This is a logical addressing scheme – values are chosen by the network engineer. The addressing scheme is hierarchical. The best known example of a layer 3 protocol is the Internet Protocol (IP). Perhaps it’s easier to visualize this layer as the actual Air Mail or Consolidated Carrier that transfers the mail from Point A to Point B.

Layer 2: Data Link Layer

The Data Link layer provides the functional and procedural means to transfer data between network entities and to detect and possibly correct errors that may occur in the Physical layer. The best known example of this is Ethernet. Other examples of data link protocols are HDLC and ADCCP for point-to-point or packet-switched networks and Aloha for local area networks. On IEEE 802 local area networks, and some non-IEEE 802 networks such as FDDI, this layer may be split into a Media Access Control (MAC) layer and the IEEE 802.2 Logical Link Control (LLC) layer. It arranges bits from physical layer into logical chunks of data, known as frames.

This is the layer at which the bridges and switches operate. Connectivity is provided only among locally attached network nodes forming layer 2 domains for unicast or broadcast forwarding. Other protocols may be imposed on the data frames to create tunnels and logically separated layer 2 forwarding domain.

Layer 1: Physical Layer

The Physical layer defines all the electrical and physical specifications for devices. This includes the layout of pins, voltages, and cable specifications. Hubs, repeaters, network adapters and Host Bus Adapters (HBAs used in Storage Area Networks) are physical-layer devices. The major functions and services performed by the physical layer are:

Establishment and termination of a connection to a communications medium.

Participation in the process whereby the communication resources are effectively shared among multiple users. For example, contention resolution and flow control.

Modulation, or conversion between the representation of digital data in user equipment and the corresponding signals transmitted over a communications channel. These are signals operating over the physical cabling (such as copper and fiber optic) or over a radio link.

3) What is the difference between an iterative DNS query and a recursive DNS query?

Recursive Queries

Recursive queries are most often performed by resolvers, or clients that need to have a specific name resolved by a DNS server. Recursive queries are also accomplished by a DNS server if forwarders are configured to be used on a particular name server. A recursive query essentially asks whether a particular record can be resolved by a particular name server. The response to a recursive query is either negative or positive. A common recursive query scenario is illustrated in Figure 9.14.

Iterative Queries

Iterative queries ask a DNS server to either resolve the query or make a best guess referral to a DNS server that may contain more accurate information about where the query can be resolved. Another iterative query is then performed to the referred server and so on until a result, positive or negative, is obtained.

4) When using RAID on a server for data sharing purposes what would be the most common RAID level to optimize performance for file sharing?

Several defined levels of RAID exist. RAID 1 and RAID 0+1 offer the best data protections and best performance among RAID levels, but RAID 1 and RAID 0+1 require more hard disks than other RAID levels. When the cost of hard disks is not a limiting factor, RAID 1 or RAID 0+1 are the best RAID choices for performance and fault tolerance.

RAID 5 provides fault tolerance at the best cost, but has half the write performance of RAID 1 and 0+1. RAID 5 must perform additional I/O to read and write parity information onto disk. RAID 5 is not as fault tolerant as RAID 1 and 0+1.

The best disk I/O performance is achieved with RAID 0 (disk striping with no fault tolerance protection). RAID 0 provides no fault tolerance, so RAID 0 is usually only used for development database servers or other testing environments.

5) Please explain what Active Directory is, and the benefits of using it in an Enterprise environment.

Integration with DNS. Active Directory uses the Domain Name System (DNS). DNS is an Internet standard service that translates human-readable computer names (such as mycomputer.microsoft.com) to computer-readable numeric Internet Protocol (IP) addresses (four numbers separated by periods). This lets processes running on computers in TCP/IP networks identify and connect to one another.

Flexible querying. Users and administrators can use the Search command on the Start menu, the My Network Places icon on the desktop, or the Active Directory Users and Computers snap-in to quickly find an object on the network using object properties. For example, you can find a user by first name, last name, e-mail name, office location, or other properties of that person’s user account. Finding information is optimized by use of the global catalog.

Extensibility. Active Directory is extensible, which means that administrators can add new classes of objects to the schema and can add new attributes to existing classes of objects. The schema contains a definition of each object class, and each object class’s attributes, that can be stored in the directory. For example, you could add a Purchase Authority attribute to the User object and then store each user’s purchase authority limit as part of the user’s account.

Policy-based administration. Group Policies are configuration settings applied to computers or users as they are initialized. All Group Policy settings are contained in Group Policy Objects (GPOs) applied to Active Directory sites, domains, or organizational units. GPO settings determine access to directory objects and domain resources, what domain resources (such as applications) are available to users, and how these domain resources are configured for use.

Scalability. Active Directory includes one or more domains, each with one or more domain controllers, enabling you to scale the directory to meet any network requirements. Multiple domains can be combined into a domain tree and multiple domain trees can be combined into a forest. In the simplest structure, a single-domain network is simultaneously a single tree and a single forest.

Information Replication. Active Directory uses multimaster replication, which lets you update the directory at any domain controller. Deploying multiple domain controllers in one domain provides fault tolerance and load balancing. If one domain controller within a domain slows, stops, or fails, other domain controllers within the same domain can provide necessary directory access, since they contain the same directory data.

Information security. Management of user authentication and access control, both fully integrated with Active Directory, are key security features in the Windows 2000 operating system. Active Directory centralizes authentication. Access control can be defined not only on each object in the directory, but also on each property of each object. In addition, Active Directory provides both the store and the scope of application for security policies. (For more about Active Directory logon authentication and access control, see the “For More Information” section at the end of this paper.)

Interoperability. Because Active Directory is based on standard directory access protocols, such as Lightweight Directory Access Protocol (LDAP), it can interoperate with other directory services employing these protocols. Several application programming interfaces (APIs) —such as Active Directory Service Interfaces (ADSI)—give developers access to these protocols.

6) Please explain the difference between an Access Control List (ACL) and a Discretionary Access Control List (DACL).

An access control list (ACL) is a list of access control entries (ACE). Each ACE in an ACL identifies a trustee and specifies the access rights allowed, denied, or audited for that trustee. The security descriptor for a securable object can contain two types of ACLs: a DACL and a SACL.

A discretionary access control list (DACL) identifies the trustees that are allowed or denied access to a securable object. When a process tries to access a securable object, the system checks the ACEs in the object’s DACL to determine whether to grant access to it. If the object does not have a DACL, the system grants full access to everyone. If the object’s DACL has no ACEs, the system denies all attempts to access the object because the DACL does not allow any access rights. The system checks the ACEs in sequence until it finds one or more ACEs that allow all the requested access rights, or until any of the requested access rights are denied. For more information, see How DACLs Control Access to an Object. For information about how to properly create a DACL, see Creating a DACL.

A system access control list (SACL) enables administrators to log attempts to access a secured object. Each ACE specifies the types of access attempts by a specified trustee that cause the system to generate a record in the security event log. An ACE in a SACL can generate audit records when an access attempt fails, when it succeeds, or both. In future releases, a SACL will also be able to raise an alarm when an unauthorized user attempts to gain access to an object. For more information about SACLs, see Audit Generation and SACL Access Right.

7)When setting up routers please explain the difference between a routed protocol and a routing protocol.

A routing protocol sends and receives routing information packets to and from other routers. A routed protocol can be routed by a router, which means that it can be forwarded from one router to another. Yes, there are protocols that can’t be routed, such as NetBEUI (Network Basic Input Output System Extended User Interface)

8)How much bandwidth does a DS3 provide?

45 Mbps of bandwidth and costs the same per month as 3-4 T1 circuits.

9) What benefits can a layer 2 switch provide to a fully switched network?

Layer 2 switching reduces congestion

Layer 2 switching is extremely common and is most often implemented in a LAN environment on an Ethernet switch. Ethernet is based on a bus topology, in which every station on a network shares the bandwidth. Layer 2 switching reduces congestion on the network because the switch only forwards packets to the ports for which they are intended, effectively dedicating a full 10 Mbps, 100 Mbps, or 1000 Mbps to each connection. The switch sends out data based on the destination MAC address.

10) What are the best techniques to secure a wireless network in an Enterprise Environment with site spread across an entire state? Please provide a method that has the least amount of administrative effort.

 

11)What is the Principal of Least Privilege?

Provide access to data with least privileges needed to access data correctly.

12) When setting up and an email server, what purpose would a “smart host” provide to you and how would you configure it.

 

13) What is the network and broadcast addresses for the following IP address and subnet mask: 11.42.137.111 255.254.0.0?

NETWORK ADDRESS: 11.42.0.0

BROADCAST ADDRESS: 11.43.255.255

14) What is the difference between a class full and a class less subnet and how are they represented (give example)?

 

15)Active Directory Sites are primarily used for what purpose?

Sites in Active Directory represent the physical structure, or topology, of your network. Active Directory uses topology information, stored as site and site-link objects in the directory, to build the most efficient replication topology. You use Active Directory Sites and Services to define sites and site links. A site is a set of well-connected subnets. Sites differ from domains; sites represent the physical structure of your network, while domains represent the logical structure of your organization.

16)  Explain what a Grandfather, Father, Son backup is and why it is widely used?

The basic method is to define three sets of backups, such as daily, weekly and monthly. The daily or Son backups are rotated on a daily basis with one graduating to Father status each week. The weekly or Father backups are rotated on a weekly basis with one graduating to Grandfather status each month. Often one or more of the graduated backups is removed from the site for safekeeping and disaster recovery purposes.

A disadvantage of this backup scheme is that it doesn’t ensure that media is replaced before it wears out. For example, each daily (son) media is used every week until it fails, unless some method of tracking media age is implemented.

17) What are the different types of VPN:

There are several different types of VPN. They can be categorized under secure VPN and trusted VPN.

Secure VPNs (aka; SVPNs) takes use of such things as encrypted tunneling, increased confidentiality, and alot of privacy. The “secure” part of VPN means using a more or less secure protocol. Amongst the used ones, i count, IPsec, SSL (ex openvpn) and PPTP.

Trusted VPN inclues MPLS to achieve privacy, instead of tunneling. This is a more “dependent technology” since it relyes on the providers network. SOme other protocalls are; L2F, L2TP and LT2Pv3.

18) If your company policy states that you must provide VPN access to your users to be able to access company resources from public networks so they may do their jobs from home and while traveling; what would be the most secure way to provide this access to the user without compromising any internal resource?

19) Given the opportunity to design a Perimeter Network or DeMilitarized Zone (DMZ) to provide resources to users outside your network, how would you protect the resources in the DMZ and the resources inside the network from harmful entities?

 

20) As a network Administrator that supports agencies that provides a service to the public, what would be your most important concerns and most common practices?

 

21) When is the best time to do an upgrade to the network that involves downtime?

 

22) Please explain an enterprise Public Key Infrastructure (PKI) and where it is useful. Also explain where it may not be useful.

Categories: IT LEADERSHIP Tags:

IT Leaders need Self Esteem – No Ego

June 28, 2009 Leave a comment

IT Leaders must have a solid self-esteem to be able to deal with all the issues that come up during deploying IT solutions and dealing with IT legacy systems.

tugofwar Self Esteem is the inverse to the Ego. Self Esteem is the level of how much one likes/loves themselves without external interaction. Ego is the outside praise of oneself. If you find yourself focused on how others think about you, you may  need to work on your self esteem.

How can I work on my Self Esteem
Basically, self esteem is exercised when you do things that are good for you but might not feel good at the time. Ego is exercised when you do things that feel good at the time.

Remember: You are what you think. So if your self esteem is not what you want it to be, change your thinking. This will lead to changing you actions which will change your life.

Here are some quick ways to build your self esteem:

  • Wear your seat belt
  • Exercise 3-5 weekly
  • Tell yourself daily “I like myself”
  • Look for the silver lining in everything.
  • Always be positive and be very forgiving of others

 

As a leader, you will have to deal with all types of personalities. I’m starting to add the different extreme personalities that are heavy on the egos. Use these different personalities to see how your ego is impacting your life.  I try to keep my ego between all these extremes:

THE DOORMAT & THE MARTYR

THE BUTTERFLY &  THE HOBBIT

THE MONK & THE SLOB

THE SCARECROW & THE JOKER

Categories: IT LEADERSHIP